mycelo Postado Abril 7, 2009 Denunciar Share Postado Abril 7, 2009 (editado) Boa tarde pessoal tenho um exercisio q devo entregar hj a noite é o seguinte:eu tenho q criar um menu q a pessoa tem as seguintes opçoes1:cadastrar2:retirar3:buscar pelo codigo4:buscar pela descriçao5:apagar6:saireu devo dividir essas opçoes em funçoes e utilizar uma struct para o cadastroestou com o seguinte problema nessa funçao:eu tenho q cadastrar os dados e verificar se o codigo já foi cadastrado antes se for verdade eu tenho q somar a qnt com o codigo já existenteint CADASTRA (struct peca X[]) { printf("\n Digite o codigo: "); scanf("%s", &X[i].cod); printf("\n Digite a quantidade: "); scanf("%d", &X[i].qnt); qnt2 = X[i].qnt; i++; for (j=0;j=i; j++) // <--- loop do for n funciona o problema trava aki { if (X[j].cod == X[i].cod) X[i].qnt = qnt2 + X[i].qnt; } printf("\n Digite a descricao: "); scanf("%s", &X[i].desc); printf("\n Digite o modelo: "); scanf("%s", &X[i].mod); printf("\n Digite o valor: "); scanf("%f", &X[i].val); printf("\n Digite o fabricante: "); scanf("%s", &X[i].fab); return(0); } o codigo inteiro: #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> struct peca { char cod[100], desc[50], mod[50], fab[50]; int qnt; float val; }; struct peca total[1000]; int APAGA (); int BUSCAC (struct peca X[]); int BUSCAD (struct peca X[]); int MENU (); int CADASTRO(struct peca X[]); int BUSCA(struct peca X[]); int SAIR(); int qnt2 = 0, j , i = 0; int main( ) { do { system ("cls"); MENU(); }while (1); return(0); } int CADASTRA (struct peca X[]) { printf("\n Digite o codigo: "); scanf("%s", &X[i].cod); printf("\n Digite a quantidade: "); scanf("%d", &X[i].qnt); qnt2 = X[i].qnt; i++; for (j=0;j=i; j++) { if (X[j].cod == X[i].cod) X[i].qnt = qnt2 + X[i].qnt; } printf("\n Digite a descricao: "); scanf("%s", &X[i].desc); printf("\n Digite o modelo: "); scanf("%s", &X[i].mod); printf("\n Digite o valor: "); scanf("%f", &X[i].val); printf("\n Digite o fabricante: "); scanf("%s", &X[i].fab); return(0); } int RETIRADA (struct peca X[]) { printf("\n Digite o codigo: "); scanf("%s", &X[i].cod); for (j=0; j=i; j++) { if (X[j].cod == X[i].cod) { printf("\n Digite a quantidade a ser retirada: "); scanf("%d", &qnt2); if (qnt2>X[i].qnt) printf("Quantidade digitada maior q existente"); else X[i].qnt = X[i].qnt - qnt2; } } return(0); } int MENU () { char OP; printf("\t\t\t MENU \n\n\n"); printf("1- CADASTRAR \n"); printf("2- BUSCA POR CODIGO \n"); printf("3- BUSCA POR DESCRICAO \n"); printf("4- APAGAR TUDO\n"); printf("5- SAIR \n"); do { OP = getch(); }while (OP < '1' || OP > '4'); switch (OP) { case '1': CADASTRA(total); break; case '2': BUSCAC(total); break; case '3': BUSCAD(total); break; case '4': APAGA(); break; case '5': SAIR(); } } int BUSCAC (struct peca X[]) { int Y=0; char N[40]; printf("\n Qual codigo deseja pesquisar: "); scanf("%s", &N); while (strcmp(X[Y].cod, N) != 0) { Y++; if(i >= Y) break; } if(Y < i) { printf("\n Codigo: %s" , X[Y].cod); printf("\n Quantidade: %d" , X[Y].qnt); printf("\n Descricao: %s" , X[Y].desc); printf("\n Modelo: %s" , X[Y].mod); printf("\n Valor: %f" , X[Y].val); printf("\n Tel: %s" , X[Y].fab); } getche(); return(0); } int BUSCAD (struct peca X[]) { int Y=0; char N[40]; printf("\n Qual descricao deseja pesquisar: "); scanf("%s", &N); while (strcmp(X[Y].desc, N) != 0) { Y++; if(i >= Y) break; } if(Y < i) { printf("\n Codigo: %s" , X[Y].cod); printf("\n Quantidade: %d" , X[Y].qnt); printf("\n Descricao: %s" , X[Y].desc); printf("\n Modelo: %s" , X[Y].mod); printf("\n Valor: %f" , X[Y].val); printf("\n Tel: %s" , X[Y].fab); } getche(); return(0); } int SAIR () { exit(0); } int APAGA () { i = 0; }muito obrigado!!!!!!! qualquer ajuda é bem vinda vlw! Editado Abril 7, 2009 por mycelo Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
mycelo
Boa tarde pessoal tenho um exercisio q devo entregar hj a noite é o seguinte:
eu tenho q criar um menu q a pessoa tem as seguintes opçoes
1:cadastrar
2:retirar
3:buscar pelo codigo
4:buscar pela descriçao
5:apagar
6:sair
eu devo dividir essas opçoes em funçoes e utilizar uma struct para o cadastro
estou com o seguinte problema nessa funçao:
eu tenho q cadastrar os dados e verificar se o codigo já foi cadastrado antes se for verdade eu tenho q somar a qnt com o codigo já existente
o codigo inteiro:muito obrigado!!!!!!! qualquer ajuda é bem vinda vlw!
Editado por myceloLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.