Ir ao conteúdo
  • Cadastre-se

Eduardo Diniz

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

0
  1. Eduardo Diniz

    Arquivos

    Galera, não to conseguindo alterar nada, não to conseguindo achar o erro também, postei a parte aonde acho q o erro esta. void alterarUsers(char *nomeArq){ struct Usuario u; int opcao, code, log, nome, opcaoAlterarAux; char opcaoAlterar; FILE *arq; if(!(arq = fopen(nomeArq, "rb+"))){ printf("\nErro ao tentar abrir o arquivo!\n"); return; } do{ //system("cls"); system("clear"); printf("\nALTERAR USUARIO\n\n"); printf("Procurar por:\n"); printf("1 - codigo\n"); printf("2 - login\n"); printf("3 - nome\n"); printf("Digite sua opcao (0 p/ sair): "); scanf("%d", &opcao); fread(&u, sizeof(struct Usuario), 1, arq); switch(opcao){ case 1: printf("Digite o codigo: "); scanf("%d", &code); if(code == u.codigo){ do{ system("cls"); //system("clear"); printf("O que voce deseja alterar:\n"); printf("1 - codigo\n"); printf("2 - nome\n"); printf("3 - login\n"); printf("4 - senha\n"); printf("5 - idade\n"); printf("6 - sexo\n"); printf("7 - telefone\n"); printf("Digite sua opcao (0 p/ sair): "); scanf("%d", &opcaoAlterarAux); switch(opcaoAlterarAux){ case 1: printf("voce tem certeza que deseja alterar esse codigo(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite o novo codigo: "); scanf("%d", &u.codigo); } if(fwrite(&u, sizeof(struct Usuario), 1, arq) != 1){ printf("\nErro ao tentar alterar o usuario no arquivo!\n"); getchar(); }else{ printf("\nUsuario alterado com sucesso!\n"); getchar(); } break; case 2: printf("voce tem certeza que deseja alterar esse nome(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite o novo nome: "); //fflush(stdin); getchar(); gets(u.nome); } break; case 3: printf("voce tem certeza que deseja alterar esse login(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite o novo login: "); //fflush(stdin); getchar(); gets(u.login); } break; case 4: printf("voce tem certeza que deseja alterar essa senha(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite a nova senha: "); //fflush(stdin); getchar(); gets(u.senha); } break; case 5: printf("voce tem certeza que deseja alterar essa idade(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite a nova idade: "); scanf("%d", &u.idade); } break; case 6: printf("voce tem certeza que deseja alterar esse sexo(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite o novo sexo(m/f): "); scanf("%c", &u.sexo); } break; case 7: printf("voce tem certeza que deseja alterar esse telefone(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite o novo telefone: "); //fflush(stdin); getchar(); gets(u.telefone); } break; default: if(opcaoAlterarAux != 0){ printf("Opcao invalida!\n"); } } }while(opcaoAlterarAux != 0); } else{ printf("codigo nao encontrado!\n"); } break; case 2: printf("Digite o login: "); //fflush(stdin); getchar(); gets(log); if(strcmp(log, u.login) == 0){ do{ //system("cls"); system("clear"); printf("O que voce deseja alterar:\n"); printf("1 - codigo\n"); printf("2 - nome\n"); printf("3 - login\n"); printf("4 - senha\n"); printf("5 - idade\n"); printf("6 - sexo\n"); printf("7 - telefone\n"); printf("Digite sua opcao (0 p/ sair): "); scanf("%d", &opcaoAlterarAux); switch(opcaoAlterarAux){ case 1: printf("voce tem certeza que deseja alterar esse codigo(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite o novo codigo: "); scanf("%d", &u.codigo); } break; case 2: printf("voce tem certeza que deseja alterar esse nome(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite o novo nome: "); //fflush(stdin); getchar(); gets(u.nome); } break; case 3: printf("voce tem certeza que deseja alterar esse login(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite o novo login: "); //fflush(stdin); getchar(); gets(u.login); } break; case 4: printf("voce tem certeza que deseja alterar essa senha(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite a nova senha: "); //fflush(stdin); getchar(); gets(u.senha); } break; case 5: printf("voce tem certeza que deseja alterar essa idade(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite a nova idade: "); scanf("%d", &u.idade); } break; case 6: printf("voce tem certeza que deseja alterar esse codigo(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite o novo sexo(m/f): "); scanf("%c", &u.sexo); } break; case 7: printf("voce tem certeza que deseja alterar esse telefone(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite o novo telefone: "); //fflush(stdin); getchar(); gets(u.telefone); } break; default: if(opcaoAlterarAux != 0){ printf("Opcao invalida!\n"); } } }while(opcaoAlterarAux != 0); } else{ printf("login nao encontrado!\n"); } break; case 3: printf("Digite o nome(ou parte dele): "); //fflush(stdin); getchar(); gets(nome); if(strcmp(nome, u.nome) == 0){ do{ system("cls"); //system("clear"); printf("O que voce deseja alterar:\n"); printf("1 - codigo\n"); printf("2 - nome\n"); printf("3 - login\n"); printf("4 - senha\n"); printf("5 - idade\n"); printf("6 - sexo\n"); printf("7 - telefone\n"); printf("Digite sua opcao (0 p/ sair): "); scanf("%d", &opcaoAlterarAux); switch(opcaoAlterarAux){ case 1: printf("voce tem certeza que deseja alterar esse codigo(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite o novo codigo: "); scanf("%d", &u.codigo); } break; case 2: printf("voce tem certeza que deseja alterar esse nome(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite o novo nome: "); //fflush(stdin); getchar(); gets(u.nome); } break; case 3: printf("voce tem certeza que deseja alterar esse login(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite o novo login: "); //fflush(stdin); getchar(); gets(u.login); } break; case 4: printf("voce tem certeza que deseja alterar essa senha(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite a nova senha: "); //fflush(stdin); getchar(); gets(u.senha); } break; case 5: printf("voce tem certeza que deseja alterar essa idade(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite a nova idade: "); scanf("%d", &u.idade); } break; case 6: printf("voce tem certeza que deseja alterar esse sexo(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite o novo sexo: "); scanf("%c", &u.sexo); } break; case 7: printf("voce tem certeza que deseja alterar esse telefone(s/n): "); //fflush(stdin); getchar(); scanf("%c", &opcaoAlterar); if(opcaoAlterar == 's' || opcaoAlterar == 'S'){ printf("Digite o novo telefone: "); //fflush(stdin); getchar(); gets(u.telefone); } break; default: if(opcaoAlterarAux != 0){ printf("Opcao invalida!\n"); } } }while(opcaoAlterarAux != 0); } else{ printf("nome nao encontrado!\n"); } break; default: if(opcao != 0){ printf("Opcao invalida!\n"); } } printf("\n"); system("pause"); }while(opcao != 0); if(fwrite(&u, sizeof(struct Usuario), 1, arq) != 1){ printf("\nErro ao tentar alterar o usuario no arquivo!\n"); }else{ printf("\nUsuario alterado com sucesso!\n"); } if(fclose(arq)){ printf("\nErro ao tentar fechar o arquivo!\n"); } }
  2. Eduardo Diniz

    Struct em c

    Galera to tentando fazer uma questão que pede para cadastrar produtos e depois alterar os preços, na hora de altera os preços ,eu escolho p alterar o preço do primeiro item e ele altera o do segundo e vice-versa. #include <stdio.h> #include <stdlib.h> #include <conio.h> #define TAM 2 struct produto{ char descricao[31]; int codigo; int qnt_estoque; float valor_uni; }; void preencher( struct produto v[],int tam){ int i; for (i=0;i<TAM;i++){ printf("DIGITE A DESCRICAO DO PRODUTO : "); fflush(stdin); gets(v[i].descricao); fflush(stdin); printf("DIGITE O VALOR UNITARIO DO PRODUTO %s: ",v[i].descricao); scanf("%f",&v[i].valor_uni); fflush(stdin); printf("DIGITE A QUATIDADE EM ESTOQUE DO PRODUTO %s: ",v[i].descricao); scanf("%d",&v[i].qnt_estoque); printf("\n PRODUTO CADASTRADO COM SUCESSO\n"); } } void alterar( struct produto v[],int tam){ int i, num; for (i=0;i<TAM;i++) // Laço para listar os produtos cadastrados { printf("CODIGO: %d / DESCRICAO: %s / PRECO: %7.2f / QUANTIDADE: %d\n", i+1,v[i].descricao,v[i].valor_uni,v[i].qnt_estoque); } printf("\n DIGITE O CODIGO DO PRODUTO PARA ALTERAR O PRECO: "); scanf("%d",&num); printf("\n\n"); printf("DIGITE O NOVO PRECO: "); scanf("%f",&v[num].valor_uni); printf("\nPRECO ALTERADO COM SUCESSO!"); getch(); system("cls"); } void imprimir(struct produto v[],int tam){ int i; system("cls"); for (i=0;i<TAM;i++){ printf("CODIGO: %d / DESCRICAO: %s / PRECO: %7.2f / QUANTIDADE: %d\n", i+1,v[i].descricao,v[i].valor_uni,v[i].qnt_estoque); } } int main(){ struct produto vetor[TAM]; int i; preencher(vetor,TAM); alterar(vetor,TAM); imprimir(vetor,TAM); }
  3. galera gostaria de saber se o jeito que eu resolvia a questão esta certo. questão ---> Faça um programa para criar uma matriz com 3 linhas e 3 colunas onde serão armazenados números reais. Essa matriz deverá ser preenchida coluna por coluna com valores informados pelo usuário do programa. Em seguida, multiplique cada elemento da diagonal secundária pelo elemento de maior valor armazenado na matriz. Ao final, exiba a matriz resultante, linha por linha.(minha duvida é na impressão,se o que eu fiz esta certo). #include <stdio.h> #include <stdlib.h> #define DIM 3 int main(){ int m[DIM][DIM],i,j,maior; printf("digite a primeira coluna \n"); for(j=0;j<DIM;j++){ scanf("%d",&m[j][0]); } printf("\n\n"); printf("----coluna 1----\n"); for(j=0;j<DIM;j++){ printf("%d\n",m[j][0]); } printf("-------------------\n\n"); printf("digite a segunda coluna \n"); for(j=0;j<DIM;j++){ scanf("%d",&m[j][1]); } printf("\n\n"); printf("----coluna 2----\n"); for(j=0;j<DIM;j++){ printf("%d\n",m[j][1]); } printf("-------------------\n\n"); printf("digite a terceira coluna \n"); for(j=0;j<DIM;j++){ scanf("%d",&m[j][2]); } printf("\n\n"); printf("----coluna 3----\n"); for(j=0;j<DIM;j++){ printf("%d\n",m[j][2]); } printf("-------------------\n\n"); for(i=0;i<DIM;i++){ for(j=0;j<DIM;j++){ printf("%d\t",m[j]); if(j==2) printf("\n");}} for(i=0;i<DIM;i++){ for(j=0;j<DIM;j++){ if(maior < m[j]){ maior=m[j]; } } } printf("\nO maior elemento da matriz é %d\n", maior); printf("\n"); printf("%d %d %d\n", m[0][0],m[1][0],m[2][0]*maior); printf("%d %d %d\n", m[0][1],m[1][1]*maior,m[2][1]); printf("%d %d %d\n", m[0][2]*maior,m[1][2],m[2][2]); }

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...