Ir ao conteúdo

lPaulo23

Membro Pleno
  • Posts

    32
  • Cadastrado em

  • Última visita

Reputação

13
  1. Se eu chamo o menu colocando Ret = Menu(Aluno, Disciplina); Ele não copila, dá erro dessa forma. Como faço para resolver ? Sabem o que está dando erro para não retornar o valor certo e imprimir as condições ? #include <stdio.h> #include <stdlib.h> #include <string.h> #define vagas 40 typedef struct CadastroAluno{ int idnome; char nome[30]; int qtdnomes; }CadastroAluno; typedef struct CadastroDisciplina{ int iddisciplina; char disciplina[30]; int qtdalunos; int alunoscadastradosemdisciplina[vagas]; }CadastroDisciplina; CadastroAluno cadastroaluno(); CadastroDisciplina cadastrodisciplina(); void Menu(); void ListarAluno(); void cadastroalunoemdisciplina(); void ListarDisciplina(); int excluiralunodedisciplina(); void listaridalunosmatriculadosemdisciplina(); //Falta fazer ainda int main (){ CadastroAluno Aluno[100]; CadastroDisciplina Disciplina[100]; Aluno[0].qtdnomes = 0; Disciplina[0].qtdalunos = 0; Disciplina[1].qtdalunos = 0; int Ret =Menu(Aluno, Disciplina); if (Ret == 1) printf("\nAluno Excluido com Sucesso!\n"); //Resolver if (Ret == 2) printf("\nAluno nao encontrado!\n"); //Resolver if (Ret == 3) printf("\nDisciplina nao encontrada!\n"); //Resolver system ("Pause"); return 0; } void Menu(CadastroAluno Aluno[], CadastroDisciplina Disciplina[]){ int opc; do{ printf("\nInforme [1] para cadastrar!"); printf("\nInforme [2] para Listar Alunos!"); printf("\nInforme [3] para Cadastrar Disciplina!"); printf("\nInforme [4] para Listar Disciplinas!"); printf("\nInforme [5] para Cadastrar Aluno em Disciplina!"); printf("\nInforme [6] para Excluir Aluno de Disciplina!"); printf("\nInforme [0] para Sair!"); printf("\nInforme a opcao: "); scanf("%d", &opc); if(opc == 1) cadastroaluno(Aluno); if (opc == 2) ListarAluno(Aluno); if (opc == 3) cadastrodisciplina(Disciplina); if (opc == 4) ListarDisciplina(Disciplina); if (opc == 5) cadastroalunoemdisciplina(Aluno, Disciplina); if (opc == 6) excluiralunodedisciplina(Aluno, Disciplina); }while(opc != 0); } CadastroAluno cadastroaluno(CadastroAluno Aluno[]){ printf("\nInforme Nome %d: ", Aluno[0].qtdnomes+1); fflush(stdin); gets(Aluno[Aluno[0].qtdnomes].nome); printf("\nInforme ID_aluno: "); scanf("%i", &Aluno[Aluno[0].qtdnomes].idnome); fflush(stdin); Aluno[0].qtdnomes++; printf("\nQuantidade de nomes: %i\n", Aluno[0].qtdnomes); } void ListarAluno(CadastroAluno Aluno[]){ if(Aluno[0].qtdnomes > 0){ int cont = 0; while(cont < Aluno[0].qtdnomes){ printf("\nNome %d: %s\n", cont+1, Aluno[cont].nome); printf("\nID_aluno : %d\n", Aluno[cont].idnome); printf("__________\n"); cont++; } } else { printf("\nNenhum Aluno Cadastrado!\n"); } } CadastroDisciplina cadastrodisciplina(CadastroDisciplina Disciplina[]){ printf("\nInforme Nome da disciplina %d: ", Disciplina[0].qtdalunos+1); fflush(stdin); gets(Disciplina[Disciplina[0].qtdalunos].disciplina); printf("\nInforme ID_Disciplina: "); scanf("%i", &Disciplina[Disciplina[0].qtdalunos].iddisciplina); fflush(stdin); printf("\nID_Disciplina : %i esta na posicao %i\n", Disciplina[Disciplina[0].qtdalunos].iddisciplina, Disciplina[0].qtdalunos); Disciplina[0].qtdalunos++; printf("\nQuantidade de Disciplina: %i\n", Disciplina[0].qtdalunos); } void ListarDisciplina(CadastroDisciplina Disciplina[]){ if(Disciplina[0].qtdalunos > 0){ int cont = 0; while(cont < Disciplina[0].qtdalunos){ printf("\nNome da Disciplina %d: %s\n", cont+1, Disciplina[cont].disciplina); printf("\nID_Disciplina : %d\n", Disciplina[cont].iddisciplina); printf("__________\n"); cont++; } } else { printf("\nNenhuma disciplina cadastrada!\n"); } } void cadastroalunoemdisciplina(CadastroAluno Aluno[], CadastroDisciplina Disciplina[]){ int iddisciplina; int idaluno; int cont; int EncontradoA = 0; int EncontradoD = 0; printf("\nInforme o ID_Disciplina da Disciplina que vai cadastrar o Aluno: "); scanf("%i", &iddisciplina); for(cont = 0; cont <= 100; cont++){ if(iddisciplina == Disciplina[cont].iddisciplina){ EncontradoD = 1; } } printf("\nInforme o ID_Aluno do Aluno que vai ser cadastrado na Disciplina informada: "); scanf("%i", &idaluno); for(cont = 0; cont <= 100; cont++){ if(idaluno == Aluno[cont].idnome){ Disciplina[cont].alunoscadastradosemdisciplina[cont] = idaluno; EncontradoA = 1; Disciplina[1].qtdalunos++; printf("\nAluno %i cadastrado na posicao %i\n", Disciplina[cont].alunoscadastradosemdisciplina[cont], cont); } } if(EncontradoA == 1 && EncontradoD == 1){ printf("\nAluno Cadastrado com Sucesso!\n"); printf("\nQuantidade de Alunos nessa disciplina: %i\n", Disciplina[1].qtdalunos); } else if (EncontradoA != 1){ printf("\nAluno nao encontrado!\n"); } else if(EncontradoD != 1){ printf("\nDisciplina nao encontrada!\n"); } printf("id_disciplina: %i\n", iddisciplina); printf("id_aluno: %i\n", idaluno); } void listaridalunosmatriculadosemdisciplina(CadastroDisciplina Disciplina[]){ //Falta fazer } int excluiralunodedisciplina (CadastroAluno Aluno[], CadastroDisciplina Disciplina[]){ int idaluno; int iddisciplina; int cont; int EncontradoA = 0; int EncontradoD = 0; printf("\nInforme o ID_Disciplina da Disciplina que vai ser excluido o Aluno: "); scanf("%i", &iddisciplina); for(cont = 0; cont <= 100; cont++){ if(iddisciplina == Disciplina[cont].iddisciplina){ EncontradoD = 1; } } printf("\nInforme o ID_Aluno do Aluno a ser excluido da disciplina: "); scanf("%i", &idaluno); for(cont = 0; cont <= 100; cont++){ if(idaluno == Aluno[cont].idnome){ EncontradoA = 1; } } for(cont = 0; cont < Disciplina[1].qtdalunos; cont++){ if(idaluno == Disciplina[cont].alunoscadastradosemdisciplina[cont]){ printf("\n%i\n", Disciplina[cont].alunoscadastradosemdisciplina[cont]); //Aluno Cadastrado Disciplina[cont].alunoscadastradosemdisciplina[cont] = '\0'; Disciplina[1].qtdalunos--; printf("\n%i\n", Disciplina[cont].alunoscadastradosemdisciplina[cont]); //Aluno Após ser excluído } } if(EncontradoA == 1 && EncontradoD == 1){ //printf("\nAluno Excluido com Sucesso!\n"); printf("\nQuantidade de Alunos nessa disciplina: %i\n", Disciplina[1].qtdalunos); return 1; } else if (EncontradoA != 1){ //printf("\nAluno nao encontrado!\n"); return 2; } else if(EncontradoD != 1){ //printf("\nDisciplina nao encontrada!\n"); return 3; } return 0; }
  2. @vangodp como eu chamaria no menu apenas ? porque no menu quando coloco Ret = Menu dá erro.
  3. @MassakiMsk Eu coloquei o return como você falou, e mesmo assim não imprimiu. O problema é que não está imprimindo if (Ret == 1) printf("\nAluno Excluido com Sucesso!\n"); //Resolver if (Ret == 2) printf("\nAluno nao encontrado!\n"); //Resolver if (Ret == 3) printf("\nDisciplina nao encontrada!\n"); //Resolver
  4. #include <stdio.h> #include <stdlib.h> #include <string.h> #define vagas 40 typedef struct CadastroAluno{ int idnome; char nome[30]; int qtdnomes; }CadastroAluno; typedef struct CadastroDisciplina{ int iddisciplina; char disciplina[30]; int qtdalunos; int alunoscadastradosemdisciplina[vagas]; }CadastroDisciplina; CadastroAluno cadastroaluno(); CadastroDisciplina cadastrodisciplina(); void Menu(); void ListarAluno(); void cadastroalunoemdisciplina(); void ListarDisciplina(); int excluiralunodedisciplina(); void listaridalunosmatriculadosemdisciplina(); //Falta fazer ainda int main (){ CadastroAluno Aluno[100]; CadastroDisciplina Disciplina[100]; Aluno[0].qtdnomes = 0; Disciplina[0].qtdalunos = 0; Disciplina[1].qtdalunos = 0; Menu(Aluno, Disciplina); int Ret = excluiralunodedisciplina(Aluno, Disciplina); if (Ret == 1) printf("\nAluno Excluido com Sucesso!\n"); //Resolver if (Ret == 2) printf("\nAluno nao encontrado!\n"); //Resolver if (Ret == 3) printf("\nDisciplina nao encontrada!\n"); //Resolver system ("Pause"); return 0; } void Menu(CadastroAluno Aluno[], CadastroDisciplina Disciplina[]){ int opc; do{ printf("\nInforme [1] para cadastrar!"); printf("\nInforme [2] para Listar Alunos!"); printf("\nInforme [3] para Cadastrar Disciplina!"); printf("\nInforme [4] para Listar Disciplinas!"); printf("\nInforme [5] para Cadastrar Aluno em Disciplina!"); printf("\nInforme [6] para Excluir Aluno de Disciplina!"); printf("\nInforme [0] para Sair!"); printf("\nInforme a opcao: "); scanf("%d", &opc); if(opc == 1) cadastroaluno(Aluno); if (opc == 2) ListarAluno(Aluno); if (opc == 3) cadastrodisciplina(Disciplina); if (opc == 4) ListarDisciplina(Disciplina); if (opc == 5) cadastroalunoemdisciplina(Aluno, Disciplina); if (opc == 6) excluiralunodedisciplina(Aluno, Disciplina); }while(opc != 0); } CadastroAluno cadastroaluno(CadastroAluno Aluno[]){ printf("\nInforme Nome %d: ", Aluno[0].qtdnomes+1); fflush(stdin); gets(Aluno[Aluno[0].qtdnomes].nome); printf("\nInforme ID_aluno: "); scanf("%i", &Aluno[Aluno[0].qtdnomes].idnome); fflush(stdin); Aluno[0].qtdnomes++; printf("\nQuantidade de nomes: %i\n", Aluno[0].qtdnomes); } void ListarAluno(CadastroAluno Aluno[]){ if(Aluno[0].qtdnomes > 0){ int cont = 0; while(cont < Aluno[0].qtdnomes){ printf("\nNome %d: %s\n", cont+1, Aluno[cont].nome); printf("\nID_aluno : %d\n", Aluno[cont].idnome); printf("__________\n"); cont++; } } else { printf("\nNenhum Aluno Cadastrado!\n"); } } CadastroDisciplina cadastrodisciplina(CadastroDisciplina Disciplina[]){ printf("\nInforme Nome da disciplina %d: ", Disciplina[0].qtdalunos+1); fflush(stdin); gets(Disciplina[Disciplina[0].qtdalunos].disciplina); printf("\nInforme ID_Disciplina: "); scanf("%i", &Disciplina[Disciplina[0].qtdalunos].iddisciplina); fflush(stdin); printf("\nID_Disciplina : %i esta na posicao %i\n", Disciplina[Disciplina[0].qtdalunos].iddisciplina, Disciplina[0].qtdalunos); Disciplina[0].qtdalunos++; printf("\nQuantidade de Disciplina: %i\n", Disciplina[0].qtdalunos); } void ListarDisciplina(CadastroDisciplina Disciplina[]){ if(Disciplina[0].qtdalunos > 0){ int cont = 0; while(cont < Disciplina[0].qtdalunos){ printf("\nNome da Disciplina %d: %s\n", cont+1, Disciplina[cont].disciplina); printf("\nID_Disciplina : %d\n", Disciplina[cont].iddisciplina); printf("__________\n"); cont++; } } else { printf("\nNenhuma disciplina cadastrada!\n"); } } void cadastroalunoemdisciplina(CadastroAluno Aluno[], CadastroDisciplina Disciplina[]){ int iddisciplina; int idaluno; int cont; int EncontradoA = 0; int EncontradoD = 0; printf("\nInforme o ID_Disciplina da Disciplina que vai cadastrar o Aluno: "); scanf("%i", &iddisciplina); for(cont = 0; cont <= 100; cont++){ if(iddisciplina == Disciplina[cont].iddisciplina){ EncontradoD = 1; } } printf("\nInforme o ID_Aluno do Aluno que vai ser cadastrado na Disciplina informada: "); scanf("%i", &idaluno); for(cont = 0; cont <= 100; cont++){ if(idaluno == Aluno[cont].idnome){ Disciplina[cont].alunoscadastradosemdisciplina[cont] = idaluno; EncontradoA = 1; Disciplina[1].qtdalunos++; printf("\nAluno %i cadastrado na posicao %i\n", Disciplina[cont].alunoscadastradosemdisciplina[cont], cont); } } if(EncontradoA == 1 && EncontradoD == 1){ printf("\nAluno Cadastrado com Sucesso!\n"); printf("\nQuantidade de Alunos nessa disciplina: %i\n", Disciplina[1].qtdalunos); } else if (EncontradoA != 1){ printf("\nAluno nao encontrado!\n"); } else if(EncontradoD != 1){ printf("\nDisciplina nao encontrada!\n"); } printf("id_disciplina: %i\n", iddisciplina); printf("id_aluno: %i\n", idaluno); } void listaridalunosmatriculadosemdisciplina(CadastroDisciplina Disciplina[]){ //Falta fazer } int excluiralunodedisciplina (CadastroAluno Aluno[], CadastroDisciplina Disciplina[]){ int idaluno; int iddisciplina; int cont; int EncontradoA = 0; int EncontradoD = 0; printf("\nInforme o ID_Disciplina da Disciplina que vai ser excluido o Aluno: "); scanf("%i", &iddisciplina); for(cont = 0; cont <= 100; cont++){ if(iddisciplina == Disciplina[cont].iddisciplina){ EncontradoD = 1; } } printf("\nInforme o ID_Aluno do Aluno a ser excluido da disciplina: "); scanf("%i", &idaluno); for(cont = 0; cont <= 100; cont++){ if(idaluno == Aluno[cont].idnome){ EncontradoA = 1; } } for(cont = 0; cont < Disciplina[1].qtdalunos; cont++){ if(idaluno == Disciplina[cont].alunoscadastradosemdisciplina[cont]){ printf("\n%i\n", Disciplina[cont].alunoscadastradosemdisciplina[cont]); //Aluno Cadastrado Disciplina[cont].alunoscadastradosemdisciplina[cont] = '\0'; Disciplina[1].qtdalunos--; printf("\n%i\n", Disciplina[cont].alunoscadastradosemdisciplina[cont]); //Aluno Após ser excluído } } if(EncontradoA == 1 && EncontradoD == 1){ //printf("\nAluno Excluido com Sucesso!\n"); printf("\nQuantidade de Alunos nessa disciplina: %i\n", Disciplina[1].qtdalunos); return 1; } else if (EncontradoA != 1){ //printf("\nAluno nao encontrado!\n"); return 2; } else if(EncontradoD != 1){ //printf("\nDisciplina nao encontrada!\n"); return 3; } } Oi gente tudo bem! Eu queria imprimir essas condições no main, alguém sabe dizer qual meu erro ? porque ele não está imprimindo ? Eu chamei o módulo excluiralunodedisciplina de forma errada ? Qual problema na hora de retornar ?
  5. @arfneto Muito obrigado, vou estudar o programa e qualquer coisa eu pergunto. adicionado 0 minutos depois @arfneto Obrigado de verdade, por dedicar esse tempo pra me ajudar e tirar minhas dúvidas. Vou estudar com calma o código!
  6. Bem legal esse código, eu estou engatilhando, não sei muita coisa. Já passei por lógica de programação que foi no primeiro semestre. Agora tô pegando laboratório que era pra eu pegar no segundo mas deixei passar porque passei raspando em lógica, pra ver se eu estudava mais. Mas ainda sim estou bem fraco. Funções estou aprendendo nesse semestre. Começou recentemente, aí até agora não passou disso. Modularização! adicionado 0 minutos depois @arfneto Muito obrigado pela ajuda! Vou analisar tudo com calma e tentar melhorar meu código. adicionado 13 minutos depois Eu não entendi muito bem essa parte "E os números nos campos de valor. Use div e % para isolar os dígitos e fazer as contas para os dois dígitos verificadores e pronto..." adicionado 17 minutos depois @arfneto Mas penso em fazer com string mesmo o CPF pra validar depois, mas saber outras formas sempre é bom. Dessa forma que você falou o 0 do lado esquerdo não seria ignorado ?
  7. Entendi, muito obrigado pela ajuda. Vou tentar fazer aqui dessa forma.
  8. Entendi, se puder dá um exemplo eu agraceço. Mas eu entendi com o exemplo que você usou aí em cima. E pra validar acredito que dá pra usar o (strlen) pra contar os caracteres. E a questão do linux. Que no lugar dele pedir pro usuário informar o sexo. Ele passa direto e vai pra nome. Sabe o que tenho que fazer ?
  9. Como eu usaria no caso ? Tipo eu quero por com int, porque vou fazer a questão 9 que tem que criar 3 módulos, uma para validar nome, outra para validar cpf e outra para validar sexo. Quando coloco 11 dígitos com int, ele retorna 457, tá um bug estranho. Eu sou bem leigo em relação a algumas coisas. Eu coloquei long in cpf e continuou dando erro. E quando uso pelo lixux, ele pula o sexo, e vai direto para nome, mas do code e dev não acontece isso, como se o fflush(stdin); não tivesse servindo no linux.
  10. #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct Data{ int Dia, Mes, Ano; }Data; typedef struct Cadastro{ char Nome[30]; Data Nasc; int CPF; char Sexo; }Cadastro; Cadastro cadastrarcliente(); int main (){ int cont; Cadastro Cliente[3]; cadastrarcliente(Cliente); for(cont = 0; cont < 3; cont++){ printf("\n--------------------------------------\n"); printf("\nOs dados do Cliente %i: ", cont); printf("\nNome : %s",Cliente[cont].Nome); printf("\nData de Nascimento xx/xx/xxxx: %i/%i/%i", Cliente[cont].Nasc.Dia, Cliente[cont].Nasc.Mes,Cliente[cont].Nasc.Ano); printf("\nInforme o CPF : %d", Cliente[cont].CPF); printf("\nSexo M/F : %c", Cliente[cont].Sexo); printf("\n--------------------------------------\n"); } system ("pause"); return 0; } Cadastro cadastrarcliente(Cadastro Cliente[]){ int cont; for(cont = 0; cont < 3; cont++){ printf("\n--------------------------------------\n"); printf("\nInforme os dados do Cliente %i: ", cont); printf("\nNome : "); fflush(stdin); gets(Cliente[cont].Nome); printf("\nData de Nascimento xx/xx/xxxx: "); scanf("%i/%i/%i", &Cliente[cont].Nasc.Dia, &Cliente[cont].Nasc.Mes, &Cliente[cont].Nasc.Ano); fflush(stdin); printf("\nInforme o CPF : "); scanf("%d", &Cliente[cont].CPF); fflush(stdin); printf("\nSexo M/F :"); scanf("%c", &Cliente[cont].Sexo); fflush(stdin); printf("\n--------------------------------------\n"); } } Olá gente tudo bem? Estou cursando laboratório, essa é uma questão que utiliza função. Uma questão da lista que o professor passou. Alguém sabe me dizer qual o problema do meu código ? Na hora de imprimir cpf, ele corta o número zero, a mesma coisa na parte da data. O que fiz errado ou preciso consertar ? Tipo, se eu digito 025, ele imprimi 25, e não está imprimindo todos números do cpf.
  11. @Tomas Neiva Pelo que estou vendo, está valendo mais a pena pegar essa cpu completa do que pegar peça por peça né ? Olhei aqui o custo, e deu quase o mesmo preço da segunda opção. Talvez eu pegue ela mesmo! Vou analisar.
  12. Boa noite! Gostaria de dicas para montar um PC. Eu já tenho monitor! Tenho HD 1tb, e 3 memórias ram ddr3 de 2 GB cada. Eu preciso mesmo é de uma placa-mãe, processador, gabinete e fonte. Gostaria de dicas! Meu orçamento é 1500 reais. Estudo TI! Gosto de jogos, mas eu queria um que desse pra eu estudar sem travas. Gostaria de usar os sistemas operacional linux e windows ao mesmo tempo. Eu queria comprar um notebook. Mas não sei se tem algum notebook por esse preço que vale a pena. Mas se tiver gostaria de sugestões. Tanto pra not quanto para esses hardwares. O que eu quero mesmo é uma direção pra ter meu pc.
  13. @Elder Nauvirth Eu estava realmente querendo saber a diferença da A320 para a b350. Valeu pela explicação! Ter a opção de fazer overclock realmente é muito bom.
  14. @Elder Nauvirth Vou de Gigabyte então. Até que dá vontade de investir em uma b350. Mas sei que esse dinheiro vai acabar fazendo falto mesmo a diferença aparentando não ser grande. Pesquisando o preço mais baixo que eu vi da Gigabyte b350 foi 500. Eu achei dessa marca asrock de 440 reais. Mas não tenho coragem de compra ela. Vi um colega falar que teve experiências negativas com ela. Cada caso é um caso né, mas seila... https://produto.mercadolivre.com.br/MLB-1070121700-placa-me-asrock-amd-am4-b350m-hdv-ddr4-usb-31-sp-_JM
  15. @Elder Nauvirth Saberia dizer se vale a pena pegar essa com 4 slots ? Se não vou pegar a asus primer mesmo. Quero comprar logo! Só tô na dúvida sobrr essa questão.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!