Ir para conteúdo
Fórum Script Brasil

MaxiMous

Membros
  • Total de itens

    6
  • Registro em

  • Última visita

Tudo que MaxiMous postou

  1. Assim vai calcular corretamente... v_imc = v_peso/(v_altura*v_altura); já que você já tem o valo do imc poderia deixar assim... printf("Prontinho, seu IMC e de: %.2f\n\n\n", v_imc); Mudar || para && nos demais if como o fera tinha dito.
  2. MaxiMous

    Por favor, me ajudem

    Ola. Mas você tem algo pronto ai para vermos? Teria que usar uma estrutura nesse tipo aqui... Na minha ideia. #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct{ char nome[100]; int setor; int qtde; float preço; }produto; int main() { produto *estoque[100]; int num = 0; do{ printf("\nMenu de Opções:\n\n1 - Bloco1\n2 - Bloco2\n3 - Bloco3\n4 - Sair.\n"); scanf("%i", &num); switch(num){ case 1: break; case 2: break; case 3: break; default: system("cls || clear"); } }while(num != 4); return 0; }
  3. #include <string.h> #include <stdio.h> #include <stdlib.h> #include <locale.h> #define const 5 typedef struct{ int cod; char autordaobra[50]; char obra[50]; char editora[50]; }cadastro; int i, j, cad, opcao, f1 = 0; cadastro *livro[const];//1º - Criar Ponteiro void mostrar(cadastro *livro){ /*if(i != 0){ for(j=0; j<i; j++){ printf ("Código: %d\n", livro.cod); printf ("Autor da obra: %s\n",livro.autordaobra); printf ("Obra: %s\n", livro.obra); printf ("Editora: %s\n\n",livro.editora); } } else printf("Lista vazia!\n");*/ system("cls"); printf("\n"); for(i=0; i<const; i++){ printf ("Código: %d\n", livro[i].cod); printf ("Autor da obra: %s\n", livro[i].autordaobra); printf ("Obra: %s\n", livro[i].obra); printf ("Editora: %s\n\n",livro[i].editora); } printf("\n\n"); system("pause"); system("cls"); } int cadastroo(cadastro *livro){//Mudar o nome da função. /*if(i <const){ system("cls"); printf("1 – Inserir um novo cadastro\n"); printf("2 – Mostrar todos os cadastros\n"); printf("0 – Encerrar\n"); fflush(stdin); livro.cod = i+1; fflush(stdin); printf("Insira o nome do autor da obra %d:\n", i+1); fflush(stdin); gets(livro.autordaobra); fflush(stdin); printf("Insira o nome da obra %d:\n", i+1); gets(livro.obra); fflush(stdin); printf("Insira o nome da editora %d:\n", i+1); gets(livro.editora); fflush(stdin); system("cls"); printf("1 – Inserir um novo cadastro\n"); printf("2 – Mostrar todos os cadastros\n"); printf("0 – Encerrar\n"); i = i+1; } else printf("Sistema de cadastro lotado. Não é possível armazenar mais informações!\n");*/ int i = 0, newbook, tem = 0, cont = 0, contMax = 0; for(i=0; i<const; i++){ //Livro zero significa que não tem livro, esse for verifica o livro e os livrpos ativos ate o valor chegar ao total do const. if(livro[i].cod != 0){ contMax++; } } if(contMax == const){ //Aqui verifica se o sistema esta lotado. printf("\nSistema de cadastro lotado. Não é possível armazenar mais informações!\n"); system("pause"); system("cls"); } else{ do{ fflush(stdin); printf("Insira o Cod. do livro %d: ", cont+1); scanf("%d", &newbook); tem = 0; for(i=0; i<const; i++){ //Este for verifica se o livro esta cadastrada, caso sim, muda a variavel tem para 1. if(newbook == livro[i].cod){ tem = 1; } } if(tem == 0){ //Caso a variavel tem esteja como zero, inicia o cadastro. livro[cont].cod = newbook; fflush(stdin); printf("Insira o nome do autor da obra %d: ", cont+1); scanf("%[^\n]s", &livro[cont].autordaobra); fflush(stdin); printf("Insira o nome da obra %d: ", cont+1); scanf("%[^\n]s", &livro[cont].obra); fflush(stdin); printf("Insira o nome da editora %d: ", cont+1); scanf("%[^\n]s", &livro[cont].editora); fflush(stdin); printf("\nLivro cadastrado com sucesso!\n"); printf("\n"); system("pause"); system("cls"); } else{ //Caso a variavel tem esjeja com o valor 1, cai aqui e diminui o contadador para que o do while seja iniciado novamente. cont = cont - 1; printf("\nJa existe livro cadastrado com este numero!!\n"); system("pause"); } cont++; }while(cont < const); } system("cls"); return(livro[i].cod); } int main(int argc, char *argv[]){ setlocale(LC_ALL, "Portuguese"); /*printf("1 – Inserir um novo cadastro\n"); printf("2 – Mostrar todos os cadastros\n"); printf("0 – Encerrar\n"); i = 0; opcao = 0; do{ while(scanf ("%d", &opcao)){ while(getchar() != '\n'); printf("Erro: opção inválida!\n"); } if(opcao > 2){ printf("Erro: opção inválida!\n"); } else switch(opcao){ case 1: cadastro(); break; case 2: mostrar(); break; } }while(opcao != 0); return 0;*/ //cadastro livro[const]; /*for(i=0; i<const; i++){//zera a struct livro[i].cod = 0; strcpy(livro[i].autordaobra, "NULL"); strcpy(livro[i].obra, "NULL"); strcpy(livro[i].editora, "NULL"); }*/ do{ printf("1 - Inserir um novo cadastro\n"); printf("2 - Mostrar todos os cadastros\n"); printf("0 - Encerrar L106\n"); scanf("%i", &opcao); switch(opcao){ case 1: system("cls || clear"); f1 = cadastroo(livro); break; case 2: system("cls || clear"); mostrar(livro); break; default: system("cls || clear"); } }while(opcao != 0); return 0; } Meio que refatorei parte do código e preservei comentado o seu para que você possa analisar as modificações.
  4. Oi boa tarde. Faça um programa que realize o cadastro de contas bancárias com as seguintes informações: número da conta, nome do cliente e saldo. O banco permitirá o cadastramento de apenas 15 contas e não pode haver mais que uma conta com o mesmo número. O programa deverá usar REGISTRO em sua estrutura de dados e criar um menu de opções como a seguir: Menu de Opções: 1 - Cadastrar Contas 2 - Visualizar contas 3 - Exclusão de contas 4 - Sair Então... neste exercício eu fiz uma função para cada uma das 3 primeiras opções. Na verdade não sei explicar direito o porque de ocorrer isso. Problema 1, quando mando iniciar o programa, e vou no menu 2 e depois no 3, para constatar que não tem nada cadastrado, mas ele visualiza aqueles dados tipo quando a variável esta com lixo. Problema 2, quando vou no menu 1 para cadastrar uma conta, fala que já tem conta cadastrada, quando na vdd não tem, ai vou la visualizar o que cadastrei e ela não aparece... Eu criei na main() um for que é para zerar a struct quando o programa é executado. Basicamente é isso. Primeiramente eu fiz sem utilizar as funções, tudo dentro da main, cada case com a sua própria solução, e ficou perfeito, insere, pesquisa, exclui tanto por nome quanto por conta. Mas querendo utilizar função para cada case escolhida, já não deu certo... Me ajudem. Segue o código: #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> #define MAX 3 struct conta{ char cliente[50]; int cc; float saldo; }; int cadConta(){ struct conta add[MAX]; int i, ncc, contador, cont = 0; do{ printf("Digite o Numero da Conta: "); scanf("%d",&ncc); for(i=0; i<MAX; i++){ if(ncc != add[i].cc){ contador++; } } if(contador == MAX){ add[cont].cc = ncc; printf("Digite o Nome do Cliente: "); scanf("%s", &add[cont].cliente); printf("Digite o saldo: "); scanf("%f", &add[cont].saldo); printf("\nConta cadastrada com sucesso!\n"); printf("\n"); contador = 0; } else{ cont = cont - 1; printf("Conta já existe!!\n"); contador = 0; } cont++; }while(cont < MAX); system("cls"); return(0); } int visualizaConta(){ int i, tem, verificador, tipo, cc; struct conta view[MAX]; char cli[50] = {"NULL"}; do{ printf("\nSelecione a opção que melhor lhe atenda...\n"); printf("1 - Visualizar contas p/ Cliente\n"); printf("2 - Visualizar conta p/ Conta\n"); printf("3 - Visualizar todas as contas\n"); printf("4 - Sair deste Menu\n"); printf("\nDigite uma opção: "); scanf("%i", &tipo); switch(tipo){ case 1: system("cls"); printf("\n\n"); printf("Digite o nome do cliente: "); scanf("%s", &cli); tem = 0; for(i=0; i<MAX; i++){ verificador = (strcmp(cli, view[i].cliente)); if(verificador == 0){ printf("\n\n"); printf("Conta: %d - Cliente: %s - Saldo: %.2f\n", view[i].cc, view[i].cliente, view[i].saldo); tem = 1; } } if(tem == 0){ printf("\n\nNão existe conta cadastrada para este cliente!!\n"); } system("pause"); system("cls"); break; case 2: system("cls"); printf("\n\n"); printf("Digite o Numero da Conta: "); scanf("%d", &cc); tem = 0; for(i=0; i<MAX; i++){ if(cc == view[i].cc){ printf("Conta: %d - Cliente: %s - Saldo: %.2f\n", view[i].cc, view[i].cliente, view[i].saldo); tem = 1; } } if(tem == 0){ printf("\nNão existe esta conta cadastrada!!\n"); } system("pause"); system("cls"); break; case 3: for(i=0; i<MAX; i++){ printf("Conta: %d - Cliente: %s - Saldo: %.2f\n", view[i].cc, view[i].cliente, view[i].saldo); } system("pause"); system("cls"); break; default: printf("Opção de Sair... XauXau"); system("cls"); } }while(tipo != 4); return(0); } int excluir(){ int op = 0, excluir, tem, i, verificador; char excluirC[50] = {"NULL"}; struct conta exc[MAX]; do{ printf("\nSelecione a opção que melhor lhe atenda...\n"); printf("\n1 - Excluir conta p/ Conta"); printf("\n2 - Excluir conta p/ Cliente"); printf("\n3 - Sair deste Menu\n"); printf("\nDigite uma opção: "); scanf("%i", &op); switch(op){ case 1: printf("Digite o Numero da Conta: "); scanf("%d", &excluir); tem = 0; for(i=0; i<MAX; i++){ if(excluir == exc[i].cc) tem = 1; } if(tem == 1){ printf("\nConta Localizada!!\n"); } if(tem == 0){ printf("\nNão existe esta conta cadastrada!!\n"); system("cls"); } else{ for(i=0; i<MAX; i++){ if(excluir == exc[i].cc){ exc[i].cc = 0; strcpy(exc[i].cliente, "NULL"); exc[i].saldo = 0.0; printf("\nConta Excluida com sucesso!!\n"); system("pause"); system("cls"); } } } system("pause"); system("cls"); break; case 2: printf("Digite o Nome do Cliente: "); scanf("%s", &excluirC); tem = 0; for(i=0; i<MAX; i++){ verificador = (strcmp(excluirC, exc[i].cliente)); if(verificador == 0){ tem = 1; exc[i].cc = 0; strcpy(exc[i].cliente, "NULL"); exc[i].saldo = 0.0; printf("\nConta Localizada!!\n"); printf("\nConta Excluida com sucesso!!\n"); system("pause"); system("cls"); } } if(tem == 0){ printf("\nNão existe esta conta cadastrada!!\n"); system("cls"); } break; default: printf("Opção de Sair... XauXau"); system("cls"); } }while(op != 3); } int main() { setlocale(LC_ALL,"portuguese"); int num = 0, i, cadConta(), visualizaConta(), excluir(); struct conta banco[MAX]; printf("8) Faça um programa que realize o cadastro de contas bancárias com as seguintes informações: número da conta, nome do cliente e saldo. O banco permitirá o cadastramento de apenas 15 contas e não pode haver mais que uma conta com o mesmo número. O programa deverá usar REGISTRO em sua estrutura de dados e criar um menu de opções como a seguir:\nMenu de Opções:\n\n"); for(i=0; i<MAX; i++){ strcpy(banco[i].cliente, "NULL"); banco[i].cc = 0; banco[i].saldo = 0.0; } do{ printf("\nMenu de Opções:\n1 - Cadastrar Contas\n2 - Visualizar contas\n3 - Excluir contas\n4 - Sair.\n\n"); printf("\nDigite uma opção: "); scanf("%i", &num); switch(num){ case 1: system("cls || clear"); printf("", cadConta()); break; case 2: system("cls || clear"); printf("", visualizaConta()); break; case 3: system("cls || clear"); printf("", excluir()); break; case 4: system("cls || clear"); printf("Opcão de Sair!! Xau Xau\n"); break; default: system("cls || clear"); } }while(num != 4); return 0; }
×
×
  • Criar Novo...