Buscar

Estrutura 2 (1)

Prévia do material em texto

Exercicio 9-
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
typedef struct voo{
unsigned int numero;
char origem[50];
char destino[50];
int num_lugares;
} voo;
void insere_dados(voo *vet)
{
//essa funcao faz a leitura de dados e preenche o array
int i;
printf("\ninforme os dados de cada um dos voos\n");
for( i = 0; i < 12; ++i )
{
printf( "\nentre com o numero do voo %d: ", i + 1 );
scanf("%d",&vet);
printf( "\nentre com a origem do voo %d: ", i + 1 );
scanf("%s",&vet);
getchar(); //para limpar o buffer
// e assim vai
}
}
int main()
{
voo lista_voo[12]; //cria um array com 12 elementos do tipo "voo"
insere_dados(lista_voo);
int op;
do {
system("cls"); //limpa a tela
printf( "\t\tMenu para gerenciamento de voos\n\n");
printf( "1 - Consultar\n"
"2 - Efetuar a reserva\n"
"3 - Sair\n" );
printf( "\nopcao: ");
scanf("%d",&op);
getchar();
switch(op) {
case 1: {
int op2;
system("cls");
printf( "\nEscolha a forma como voce quer consultar:\n\n");
printf( "1 - por numero de voo\n"
"2 - por origem\n"
"3 - por destino\n" );
printf( "\nopcao: ");
scanf("%d",&op);
getchar();
switch(op2) {
case 1: {
int num;
printf( "\n\nDigite o numero do voo: ");
scanf("%d",&num);
//aqui vai um algoritmo para pesquisar um elemento no vetor, usando como chave, o campo 'numero' da struct voo
break;
}
case 2: {
char origem[50];
printf( "\n\nDigite a origem do voo: ");
scanf("%s",&origem);
//aqui vai um algortimo para pesquisar um elemento no vetor, udando como chave, o campo 'origem' da struct voo
break;
}
case 3: {
//usa a mesma ideia
break;
}
} //fim do switch interno
break;
}
case 2: {
//trate o caso de efetuar a reserva aqui
break;
}
} //fim do switch externo
} while (op != 3 );
getch();
}
Exercicio 22 -
using namespace std;
class Contas
{
public:
unsigned short Codigo;
int Saldo;
}Conta[10];
inline int ChecarConta(short Codigo)
{
for(int a=0;a<10;a++)
if(Conta[a].Codigo==Codigo)
return a;
return 10;
}
int main()
{
short menu=0;
short conta_atual=0;
short codigo=0;
short Deposito_Saque=0;
bool igual=0;
short Resultado=0;
do{
igual=false;
cout << "Digite o codigo da conta " << conta_atual+1 << endl;
cin >> Conta[conta_atual].Codigo;
cout << "Digite o saldo da conta " << conta_atual+1 << endl;
cin >> Conta[conta_atual].Saldo;
for(int a=0;a<conta_atual;a++)
if(Conta[a].Codigo==Conta[conta_atual].Codigo)
igual=true;
if(igual==false)
conta_atual++;
}while(conta_atual<10);
do{
cout << "O que deseja fazer?" << endl
<< "1-Efetuar deposito" << endl
<< "2-Efetuar saque" << endl
<< "3-consultar o ativo bancario" << endl
<< "4-Finalizar o programa" << endl;
cin >> menu;
if(menu==1){
cout << "Digite o codigo da conta" << endl;
cin >> codigo;
if(ChecarConta(codigo)!=10){
cout << "Quanto você deseja depositar?" << endl;
cin >> Deposito_Saque;
if(Deposito_Saque>Conta[ChecarConta(codigo)].Saldo)
cout << "Saldo insuficiente" << endl;
else
Conta[ChecarConta(codigo)].Saldo-=Deposito_Saque;
else if(menu==2){
cout << "Digite o codigo da conta" << endl;
cin >> codigo;
if(ChecarConta(codigo)!=10){
cout << "Quanto você deseja sacar?" << endl;
cin >> Deposito_Saque;
Conta[ChecarConta(codigo)].Saldo-=Deposito_Saque;}}
else if(menu==3)
{
for(int a=0;a<10;a++)
Resultado+=Conta[a].Saldo;
cout << "Ativo bancario: " << Resultado << endl;
Resultado=0;
}
}while(menu!=4);
}
Exercicio 23 -
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <locale.h>
//função vender passagem
void venderPas(int (*aCorredor)[], int (*aJanela)[]);
//função mostrar mapa
void mostrarMapa(int (*aCorredor)[], int (*aJanela)[]);
int main(int argc, char *argv[])
{
	setlocale(LC_ALL,"Portuguese");
	
	int assentoCorredor[24] = {0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0};
	int assentoJanela[24] = {0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0};
	int opcao;
	
	//mantem o programa em loop
	while(true){
		printf("\nEscolha:\n1 - Vender Passagem\n2 - Mostrar mapa de ocupação\n3 - Encerrar: ");
		scanf("%d", &opcao);
		
		switch(opcao){
			case 1:
				venderPas(&assentoCorredor, &assentoJanela);	
				break;
			case 2:
				mostrarMapa(&assentoCorredor, &assentoJanela);
				break;
			case 3:
				exit(0);
				break;
		}
	}
	
	system("PAUSE");
	return 0;
}
//vender passagem
void venderPas(int (*aCorredor)[], int (*aJanela)[]){
	int opcao, numero, i, lotado = 0;
	
	printf("\n1 - Corredor\t2 - Janela: ");
	scanf("%d", &opcao);
	
	printf("\nNúmero da poltrona (1 à 24): ");
	scanf("%d", &numero);
	
	//primeiro verifica se o onibus esta latado
	for(i = 0; i<24; i++){
		if((*aCorredor)[i] == 1 && (*aJanela)[i] == 1){
			lotado++;
		}
		else{
			break;
		}
	}
	
	//se a valor de lotado for menor que 24 ainda há assentos disponiveis
	if(lotado<24){
	
		//assentos corredor
		if(opcao == 1){
			//verifica se a poltrona pedida esta vazia
			if((*aCorredor)[numero-1] == 0){
				//marca a poltrona como ocupada
				(*aCorredor)[numero-1] = 1;
				
				printf("\nVenda da poltrona número %d Efetivada\n", numero);
			}
			else{
				printf("\nA poltrona %d esta ocupada\n", numero);
			}
		}
		
		//assentos janela
		else if(opcao == 2){
			//verifica se a poltrona pedida esta vazia
			if((*aJanela)[numero-1] == 0){
				//marca a poltrona como ocupada
				(*aJanela)[numero-1] = 1;
				
				printf("\nVenda da poltrona número %d Efetivada\n", numero);
			}
			else{
				printf("\nA poltrona %d esta ocupada\n", numero);
			}
		}
	}
	else{
		printf("\nÔnibus lotado\n");
	}
}
//mostrar mapa de ocupação
void mostrarMapa(int (*aCorredor)[], int (*aJanela)[]){
	int i;
	
	//imprime o mapa das poltronas ocupadas
	printf("\nCorredor\tjanela\n");
	
	for(i = 0; i<24; i++){
		if((*aCorredor)[i] == 0){
			printf("%d - Livvre\t", i+1);
		}else{
			printf("%d - Ocupada\t", i+1);
		}
		
		//assentos da janela
		if((*aJanela)[i] == 0){
			printf("%d - Livvre\t", i+1);
		}else{
			printf("%d - Ocupada\t", i+1);
		}
		
		//pula uma linha
		printf("\n");
	}
	
}
Exercicio 1-
Exercicio 2-
void fpvazia(){
struct pilha *prox;
aux =(struct pilha*)malloc(sizeof(struct pilha));
topo = aux;
fundo =topo;
fundo->prox=NULL;
}
void cadastra(pilha prox,char na){
aux=((prox*)malloc(sizeof(prox));
printf("Voce selecionou cadastra:\n\n");
/*struct pilha *aux;*/
aux->name=na;
/*aux->name=prox->topo;*/
aux->px=prox->topo;
prox->topo=aux
/*topo = aux;*/
/*char x[30];
char op;*/
fpvazia();
/*while(op !='n'){*/
printf("Digite o nome:\n\n");
scanf("%c",&x);
/*printf ("Continuar com o cadastro ?(s/n)");
op = getch();*/
tamanho++;
numero++;
char opc;
printf("Voce deseja continuar o progama? (s/n):\n\n");
scanf("%c",&opc);
if(opc == 's'){
menu();
}/*else{
print("O progama sera finalizado");
}*/
}
/*void knota(pilha *prox,char x){
printf("Voce selecionou cadastra nota:\n\n ");
/*char x[30];*/
/*int flag =0;
struct pilha *aux;
aux->prox = topo;
aux-> nota;
topo = aux;
while(aux->prox !=NULL){
printf("Digite o nome do aluno a ser cadastrado a nota:\n\n");
scanf("%c",&x);
if(aux->name==x){
printf("Aluno encontrado:");
printf("digite a nota do aluno");
scanf("%d",&nota);
flag =1;
aux->prox=NULL;
}else{
aux=aux->prox;
}
printf ("Continuar com o cadastro ?(s/n)");
op = getch();
}
if(flag==0){
printf("não a aluno com esse nome:");
}
menu();
}
void mediana(){
printf("Voce selecionou tirar media:\n\n ");
menu();
}
void listar(){
int con=0;
printf("Voce selecionou listar:\n\n");
struct pilha *aux;
aux = topo;
while(aux->prox !=NULL){
printf("aluno(s) sem nota:",aux->name,numero);
con++;
if(con=0){
printf("Todos os alunos posuen notas:");
}
char opc;
printf("Voce deseja continuar o progama? (s/n):\n\n");
scanf("%c",&opc);
if(opc == 's'){
menu();
}
}
}
void excluir(){
printf("Voce selecionou Excluir aluno:\n\n ");
char x[30];
int flag =0;
struct pilha *aux;
aux->prox = topo;
aux-> nota;
topo = aux;
while(aux->prox !=NULL){
printf("Digite o nome do aluno a ser exluido :\n\n");
scanf("%c",&x);
if(aux->name==x){
printf("Aluno encontrado:\n\n");
if (name->nota==NULL){
printf("aluno sera excluido:\n\n");
topo =topo->prox;
}else{
printf("aluno tem nota e não sera exluido:\n\n");
}
flag =1;
aux->prox=NULL;
}else{
aux=aux->prox;}
printf ("Continuar com o cadastro ?(s/n)");
op = getch();
}
if(flag==0){
printf("não a aluno com esse nome:");
}
printf("Voce selecionou excluir aluno:\n\n");
menu();
}
void exnota(){
printf("Voce selecionou excluir nota:\n\n");
menu();
}
void sair(){
exit(1);
}
*/
int main (void){
menu();
system("pause");
return 0;
}
void menu(){
system("cls");
int opc;
printf("Escolha uma opcao:\n\n");
printf("1 - cadastrar:\n\n");
printf("2 - cadastrar nota do aluno:\n\n");
printf("3 - Calcular media do aluno:\n\n");
printf("4 - listar alunos sem nota:\n\n");
printf("5 - Excluir aluno:\n\n");
printf("6 - Excluir nota:\n\n");
printf("7 - sair:\n\n");
printf ("Opcao:\n\n");
scanf("%d",&opc);
getchar();
switch (opc){
case 1:
cadastra();
break;
case 2:
knota();
break;
case 3:
mediana();
break;
case 4:
listar();
break;
case 5:
excluir();
break;
case 6:
exnota();
break;
case 7:
sair();
break;
default:
printf("Opcao invalida tente novamente\n\n");
break;
system("pause");
menu();
}
}
Exercicio 3 -
#include <stdio.h>
#include <stdlib.h>
int codp[3],prod[3],codc[3],i,j,qs,cod,opcao,opc;
int menu (void){ /* menu */
 printf("\n\t\t <*> MENU <*>"); 
 printf("\n\t 1- cadastro de produtos");
 printf("\n\t 2- pedido do cliente"); 
 printf("\n\t 3- estoque");
 printf("\n\t 4- sair"); 
 scanf("%d",&opc);
 system("cls");
 return(opc);
 }
int cad(){ /* função cadastro*/ 
 for(i=1;i<=3;i++){ 
 printf("\n\t\t <*> CADASTRO DE PROODUTOS <*>"); 
 printf("\n digite o codigo do produto");
 scanf("%d",&codp[i]);
 printf("digite a quntidade do produto");
 scanf("%d",&prod[i]);
 system("cls");
 } 
 }
 int ped(){ /*função pedido cliente */
 for(i=1;i<=1;i++){
 printf("\n\t\t <> PEDIDO DO CLIENTE <>"); 
 printf("\n\t digite o codigo do cliente");
 scanf("%d",&codc[i]);
 printf("\ndigite o codigo do produto pedido");
 scanf("%d",&cod);
 } 
 for(i=1;i<=3;i++){ 
 if(cod==codp[i]){
 printf("\t <*> codigo cadastrado !!!");
 printf("\n digite quantidade solicitada");
 scanf("%d",&qs); 
 if (qs<=prod[i]){
 prod[i]=prod[i]-qs;
 printf("pedido atendido"); 
 }
 } 
 else{
 printf("\n Não temos estoque suficiente desta mercadoria");
 }
 system("cls"); 
 
 } 
} 
int estoque (){
 printf("::CODIGO:: :: QUANTIDADE::"); 
 for(i=1;i<=3;i++){ 
 printf("\n %d- %d",codp[i],prod[i]); 
 } 
 
}
int main(void){ 
 opcao=menu();
 while(opcao!=4){
 if (opc==1){
 cad();
 opcao=menu();
 }
 else 
 if (opc==2){
 ped();
 opcao=menu();
 }
 else 
 if (opc==3){ 
 estoque();
 opcao=menu(); 
 }
 if (opc==4){
 printf("programa encerrado");
 }
 } 
 system("pause");
 return(0); 
}

Continue navegando