Jump to content
Fórum Script Brasil

Barao

Membros
  • Posts

    32
  • Joined

  • Last visited

Everything posted by Barao

  1. Comece definindo a nota pra aprovados. Pra calcular a média faca: for(i=0;i<tamVetor;++i){ media+=nota[i]; } media/= tamVetor; Pra calcular alunos aprovados e reprovados faca: for(i=0;i<tamVetor;++i){ if(nota[i] == reprovado) reprovado++; else aprovado++; } Para exibir todas as notas: for(i=0;i<tamVetor;++i) printf("%d\n", nota[i]; printf("%d\n", aprovado); printf("%d\n", reprovado);
  2. Voce disse no enunciado que teria que ser na linguagem C, mas nas linhas abaixo esta utilizando funções biblioteca iostream do C++. Só pra constar que todos os comandos e funções do C estão disponíveis em C++ mas não posso dizer o contrario. cout << "Notas ordenadas \n"; for (i=0; i<24; i++) { cout << "\n"<< nota; } cout << "\n\n Maior Nota: " << nota[23] <<"\n"; cout << " Menor nota: " << nota[0] <<"\n"; average = MediaAritmetica(nota, n); cout << " Media das notas:" << average <<"\n";
  3. Se deseja se tornar um profissional de verdade, desista de código POG.(Programação orientada a Gambiarra).
  4. int i, j, teste, temp, testa, x; FILE *ptr; //esta linha esta errada ptr=abre_arquivo("arq.dat"); //O correto seria: if((ptr = fopen("file.dat", "ab+"))==NULL){//NULL e 0 são a mesma coisa perror(":"); return 1; } Escolha nomes sugestivo para suas variáveis torna seu código mais legível. Este for não tem logica, Veja só: i recebe 1 enquato i for maior ou igual a 0 i++ for (i=1; i>=0; i++){ teste = fread(&descobre,sizeof(descobre),1, ptr); if (teste != 1){ temp = i-1; break; } } neste trecho i já é maior e diferente que 0, e sempre será, pois i esta somando mais um a cada laco, logo seu for só possui uma expressão booleana neste laco, quando isso ocorre écoerente utilizar um while veja só: while(teste == 1){ teste = fread(&descobre,sizeof(descobre),1, ptr); if (teste != 1){ temp = i-1; } }
  5. Provavelmente seja o seu antivírus bloqueando o seu programa apÓs a compilacao tenta desativa-lo por 10 minutos e testa aqui compilou e funcionou. Boa Sorte.
  6. Nossa Seu código tem muitas advertências voce deve corrigir isso.
  7. Bom dia voce pode criar um laco for para percorre até o final do arquivo e um fscanf suprimindo a entrada do ( ; ) e carregando o restando dos dados para as variaveis da sua struct EXEMPLO: for(i=0; i < 20 && !feof(fp);i++){ fscanf(arq,"%d;%[^;]s ",&sua struct[i].a variavel); } Att. Barao.
  8. Seu código tem alguns erros voce viu o console apos a compilacão. Para armazenar vários valores em uma estrutura é necessário usar vetores e matrizes veja seu código abaixa utilizando matrizes e com erros corrigidos. Esta funcionando mas peço que você leia e entenda como foi feito se não nada vai te acrescentar. Att barão. #include <stdio.h> #include <stdlib.h> #include <locale.h> #define SIZE 50 int controle = 0;//só para controle de cadastros typedef struct{ char nome[SIZE][SIZE]; /*uma matriz de 50 x 50 */ char endereco[SIZE][SIZE]; int telefone[SIZE]; int cpf[SIZE]; int cdc[SIZE]; int cdd[SIZE]; } FUNCIONARIO; void fcadastro(FUNCIONARIO *cf){ int opcao; int i=0; do{ system("cls"); printf("INSIRA O NOME DO FUNCIONÁRIO: "); //fflush(stdin);use somente para limpar o buffer de saída scanf("%s", cf -> nome[i]);/*A funcao gets esta absoleta por causar overflow*/ printf("INSIRA O ENDEREÇO DO FUNCIONÁRIO: "); //fflush(stdin); use somente para limpar o buffer de saída scanf("%s", cf -> endereco[i]);/*A funcao gets esta absoleta por causar overflow*/ printf("INSIRA O TELEFONE DO FUNCIONÁRIO: "); scanf("%i", &cf -> telefone[i]); printf("INSIRA O CPF DO FUNCIONÁRIO: "); scanf("%i", &cf -> cpf[i]); printf("INSIRA O CÓDIGO DO CARGO: "); scanf("%i", &cf -> cdc[i]); printf("INSIRA O CÓDIGO DO DEPARTAMENTO: "); scanf("%i", &cf -> cdd[i]); i++; controle++;/*A cada cadastro soma +1 a variavel global controle assim vou saber quantos cadastro foram feitos vai facilitar a exibicao no for da funcao exibir*/ printf("Press... (1) para novo cadastro, Outro valor para sair...\n\n"); scanf("%d", &opcao); }while(opcao == 1); } void exbircf(FUNCIONARIO *cf){/*Passa como ponteiro tambem*/ int i=0; system("cls"); for(i=0; i <controle; i++){/*Exibi todos os cadastros realizados*/ printf("NOME DO FUNCIONÁRIO: %s\n", cf->nome[i]); printf("ENDEREÇO DO FUNCIONÁRIO: %s\n", cf->endereco[i]);/*O especificador de formato %i É para inteiros mas a variável endereco é um vetor char[50]*/ printf("TELEFONE DO FUNCIONÁRIO: %i\n", cf->telefone[i]); printf("CPF DO FUNCIONÁRIO: %i\n", cf->cpf[i]); printf("CÓDIGO DO CARGO: %i\n", cf->cdc[i]); printf("CÓDIGO DO DEPARTAMENTO: %i\n", cf->cdd[i]); printf("\n\n"); } } int main(){ setlocale(LC_ALL, "portuguese"); FUNCIONARIO cfuncionario; fcadastro(&cfuncionario); exbircf(&cfuncionario); system("pause"); return 0; }
  9. Tá ae um exemplo deste código compare e tire suas conclusões o código esta todo comentado e funcionando boa sorte. Att. Barao #include <stdio.h> #include <stdlib.h> #include <string.h>/*Necessário para strcmp();*/ #include <conio.h>/*Necessário para getch();*/ #define SIZE 50 //Variáveis globais char nome[SIZE][SIZE];/*Matriz 50 x 50 Suporta 50 strings com 50 posicoes */ int cpf[SIZE]; int rg[SIZE]; char curso[10][SIZE]; int telefone[SIZE]; int j=0; //só para controle de lacos int op; void cadastro(); void lista(); void pesquisa(); //Função principal int main(int argc, char *argv[]){/*Adicioneir mais dois argumentos na main por seguranca*/ //Menu do{ system("cls"); printf("\t\t\t\t--------"); printf("\n\t\t\t\t| Menu |"); printf("\n\t\t\t\t--------"); printf("\n\t\t Bem-vindo. Escolha o que deseja executar."); printf("\n----------------"); printf("\n 1 - Cadastrar |"); //Layout menu printf("\n 2 - Listar |"); printf("\n 3 - Pesquisar |"); printf("\n 4 - Sair |\n"); printf("----------------\n"); scanf("%d", &op); switch(op){ case 1: cadastro(); break; case 2: lista(); break; case 3: pesquisa(); break; case 4: system("exit"); break; default: printf("\nOpcao invalida.\n"); break; } }while(op!=4); return 0; } //Função cadastro void cadastro(){ static int linha = 0;/*Sempre inicie variaveis de controle de laco com zero o valor necessário*/ do{ system("cls");/*Limpa a tela só pra ficar com um visual melhor*/ printf("============================================"); printf(" \nDigite o Nome: "); scanf("%s", nome[linha]);/*não é necessário &(E comercial) em scanf para pegar strings) */ printf(" \nDigte o CPF: "); scanf("%d", &cpf[linha]); printf(" \nDigite o RG: "); scanf("%d", &rg[linha]); printf(" \nDigite o Curso: "); scanf("%s", curso[linha]);/*não é necessário &(E comercial) em scanf para pegar strings) */ printf(" \nDigite o Telefone: "); scanf("%d", &telefone[linha]); printf("\n Digite 1 para continuar cadastrando ou outro valor para voltar ao menu.\n"); scanf("%d", &op); linha++; j++;/*Cada cadastro realizado soma +1 a variável j assim na hora de listar vou saber a quantidade cadastros realizados*/ }while(op==1); } //Fim da função cadastro //Função lista void lista(){ int i; for(i=0; i < j; i++){ /*Se colocar SIZE ele listara 50 cadastros mesmo os vetores estando vazios pra resolver isso utilizei a variável j na função cadastro*/ /*if(cpf[i]>0){ if sem necessidade*/ printf("\nNome: %s \nCPF: %d\nRG: %d\nCurso: %s\nTelefone: %d", nome[i], cpf[i], rg[i], curso[i], telefone[i]); /*break; Sem necessidade não entendi muito o seu uso aqui*/ printf("\n\n"); } getch(); } /*getchar();porque getchar duas veses em seguida ?*/ /*} chave sem necessidade*/ //Fim da função lista //Função pesquisa void pesquisa(){ printf("============================================"); int i; int cpfPesquisa; char nomePesquisa[SIZE]; do{ system("cls"); printf(" \nDigite 1 para pesquisar por Nome ou 2 para pesquisar por CPF.\n"); scanf("%d", &op); switch(op){ case 1: system("cls"); printf(" \nDigite o Nome que procura: "); scanf("%s", nomePesquisa);/*não é necessário &(E comercial) em scanf para pegar strings*/ for(i=0; i<j; i++){/*Se colocar SIZE ele listara 50 cadastros mesmo os vetores estando vazios pra resolver isso utilizei a variável j na função cadastro*/ if(strcmp(nome[i], nomePesquisa)==0){ //poderia tirar o ==0 que funcionaria também printf("\nNome: %s\nCPF: %d\nRG: %d\nCurso: %s\nTelefone: %d", nome[i], cpf[i], rg[i], curso[i], telefone[i]); } system("cls"); getch(); break; } case 2: system("cls"); printf(" \nDigite o CPF que procura: "); scanf("%d", &cpfPesquisa); for(i=0; i<j; i++){/*Se colocar SIZE ele listara 50 cadastros mesmo os vetores estando vazios pra resolver isso utilizei a variável j na função cadastro*/ if(cpf[i]==cpfPesquisa); printf("\nNome: %s\nCPF: %d\nRG: %d\nCurso: %s\nTelefone: %d", nome[i], cpf[i], rg[i], curso[i], telefone[i]); } break; default: printf("\nOpcao invalida."); break; } printf ("\n Digite 1 para continuar pesquisando ou outro valor para voltar ao menu."); scanf("%d", &op); }while(op==1); } //Fim função pesquisa
  10. Olá para resolver esta questão você tera que criar o vetor e depois ordena-lo em ordem crescente pesquise no Google algo com o nome ordenacao de vetor tem muito material relacionado a esse assunto. eu poderia ate te passar o algorítimo mas creio que não te acrescentaria muito conhecimento.
  11. Olá crie dois vetores C e N crie um laco for e jogue os valores digitados na posição atual do laco. Exemplo: int vetor_c[6]; int vetor_n[6]; int i;/*Variavel de controle de laco*/ for(i=0; i<3; i++){ printf("Digite os valores do vetor C:"); scanf("%d", &vetor_c); printf("Digite os valores do vetor N:"); scanf("%d", &vetor_n); Agora com relacão ao espaço '\ 0' não é possível colocar um caractere em um vetor de inteiros.
  12. Barao

    IDE C C++

    alguém poderia me indicar uma IDE que: seja leve. que tenha opção de autocomplete. que tenha um Ótimo DEBUG. que tenha suporte a UTF8. Não me importa se pago ou Não. PS. Já testei code::blocks (Ótima IDE Mas não tem a opcao Auto complete funcionando 100%) Já testei Visual Stúdio Profissional (Muito Arquivo e pesado)
  13. #include <stdio.h> #include <stdlib.h> #include <string.h> struct dados{ int cod; char nome[30]; float salario; char setor[30]; char funcao[30]; }; struct dados cadastro[100]; void cadastrar (){ int cont = 0, i = 0; char soun; FILE *arquivo; arquivo = fopen("dados.txt", "r"); if (arquivo == NULL){ printf ("\nERRO !! Banco não existe, criando novo Banco de Dados..."); fflush(stdin); getchar (); arquivo = fopen("dados.txt", "a"); } else { printf ("\n\nBanco de Dados Carregado com Sucesso !!"); while (!feof(arquivo)){ // enquando não(!) chegar no final do arquivo fread(&cadastro[i], sizeof(struct dados), 1, arquivo); if (!feof(arquivo)){ // condicão caso não chegue no final, ou seja tem arquivos cont = cadastro[i].cod + 1; i++; } } } do{ cadastro[cont].cod = cont; printf("\nCodigo: %d", cadastro[cont].cod); getchar (); printf("\nNome: "); fgets (cadastro[cont].nome, 30, stdin); printf("\nSalario: "); scanf ("%f", &cadastro[cont].salario); getchar(); printf("\nSetor de Trabalho: "); gets (cadastro[cont].setor); printf("\nFuncao: "); gets (cadastro[cont].funcao); printf ("\nLentra (n) para novo cadastro, ou qualquer outra para sair: "); scanf ("%c", &soun); cont++; getchar (); if (cont >= 100){ printf ("Esgotado limite de cadastro !!"); soun = 'a'; } }while (soun == 'n'); arquivo = fopen("dados.txt", "w"); for(i=0; i < cont; i++){ fwrite(&cadastro[i], sizeof(struct dados), 1, arquivo); } fclose(arquivo); } void listar (){ int i, cont = 0; FILE *arquivo; arquivo = fopen("dados.txt", "rt"); if (arquivo == NULL){ printf ("\nERRO !! Banco não existe, criando novo Banco de Dados..."); fflush(stdin); getchar (); arquivo = fopen("dados.txt", "w+"); } while (!feof(arquivo)){ fread(&cadastro[cont], sizeof(struct dados), 1, arquivo); if (!feof(arquivo)){ cont++; } } fclose(arquivo); for(i=0; i < cont; i++){ printf("\n\nCodigo: %d\n\n", cadastro[i].cod); printf("Nome: %s\n",cadastro[i].nome); printf("Salario: %5.2f\n\n",cadastro[i].salario); printf("Setor: %s\n\n",cadastro[i].setor); printf("Funcao: %s\n\n",cadastro[i].funcao); system("pause>>NULL"); } } void media (){ int cont = 0; float salario = 0, mediasalario = 0; FILE *arquivo; arquivo = fopen("dados.txt", "r"); while (!feof(arquivo)){ fread(&cadastro[cont], sizeof(struct dados), 1, arquivo); if (!feof(arquivo)){ salario = salario + cadastro[cont].salario; cont++; } } mediasalario = salario / cont; printf ("\n\nAtualmente existe %d funcionarios contratados", cont); printf ("\n\nA Media geral de Salario é: %5.2f por Funcionario Registrado\n\n", mediasalario); system("pause>>NULL"); } void pesquisa (){ int cont = 0, codigo, aux = 2; printf ("Digite o codigo do Funcionario: "); scanf ("%d", &codigo); printf ("\n\nPesquisando no Banco de Dados..."); FILE *arquivo; arquivo = fopen("dados.txt", "r"); while (!feof(arquivo)){ fread(&cadastro[cont], sizeof(struct dados), 1, arquivo); if (!feof(arquivo)){ if (codigo == cadastro[cont].cod){ aux = 1; printf ("\n\n\nCadastro Encontrado !!"); printf("\nCodigo: %d", cadastro[cont].cod); printf("\nNome: %s",cadastro[cont].nome); printf("Salario: %5.2f\n",cadastro[cont].salario); printf("Setor: %s\n",cadastro[cont].setor); printf("Funcao: %s\n\n\n",cadastro[cont].funcao); } cont++; } } if (aux == 2){ printf ("\n\nCadastro não Encontrado !!\n\n"); } } void excluir (){ int i = 0, cont = 0, codigo; printf ("\n\nDigite o codigo do Funcionario: "); scanf ("%d", &codigo); FILE *arquivo; arquivo = fopen("dados.txt", "r+"); while (!feof(arquivo)){ fread(&cadastro[i], sizeof(struct dados), 1, arquivo); if (!feof(arquivo)){ cont = cadastro[i].cod + 1; i++; } } arquivo = fopen("dados.txt", "w"); for(i=0; i < cont; i++){ if (cadastro[i].cod != codigo){ fwrite(&cadastro[i], sizeof(struct dados), 1, arquivo); } } fclose(arquivo); } int main(int argc, char *argv[]) { denovo: int opcao; do{ system("cls"); printf ("\nEscolha uma das opcao abaixo\n"); printf ("\n(1) - Para Cadastrar"); printf ("\n(2) - Para Listar"); printf ("\n(3) - Media de Salario dos funcionarios"); printf ("\n(4) - Pesquisar Funcionario pelo Codigo de Cadastro"); printf ("\n(5) - Excluir funcionário"); printf ("\n(0) - Sair \n\n"); printf("\nDigite uma opcao>> "); scanf("%d", &opcao); system("cls"); switch(opcao){ case 1: cadastrar (); break; case 2: listar (); break; case 3: media (); break; case 4: pesquisa (); system("pause"); break; case 5: excluir (); goto denovo; break; case 0: exit(0); default: printf("\n\nOpcao invalida! Tente Novamente!\n\n"); system("pause"); } }while(opcao!=5); return 0; } Tenta este código testei inúmeras vezes e obtive sucesso em todas
  14. Eu não tinha testado a opcao (5) pois diz Excliur arquivo imaginei que seria exluir o arquivo .txt Realmente há um erro Vou ler o código com mais paciência.
  15. Aqui ta funcionando perfeitamente fiz 6 cadastro e listou todos 6 sem repetir nenhum registro. voce poderia fazer o seguinte compila com esta IDE. http://sourceforge.net/projects/falconcpp/files/latest/download
  16. # include <stdio.h> #include <stdlib.h> void flush_in() { int ch; do { ch = fgetc(stdin); } while (ch != EOF && ch != '\n'); } struct dados{ int cod; char nome[30]; float salario; char setor[30]; char funcao[30]; }; struct dados cadastro[100]; int main (); void cadastrar (){ int cont = 0, i = 0; char soun; FILE *arquivo; arquivo = fopen("dados.txt", "r+"); if (arquivo == NULL){ printf ("ERRO !! Banco não existe, criando novo Banco de Dados..."); flush_in(); getchar (); //fflush(stdin) é para limpar buffer de saída e não de entrada esta é a melhor forma de limpar o buffer arquivo = fopen("dados.txt", "w+"); } else { printf ("Banco de Dados Carregado com Sucesso !!"); while (!feof(arquivo)){ // enquando não(!) chegar no final do arquivo fread(&cadastro[i], sizeof(struct dados), 1, arquivo); if (!feof(arquivo)){ // condicão caso não chegue no final, ou seja tem arquivos cont = cadastro[i].cod + 1; i++; } } } do{ cadastro[cont].cod = cont; printf("\nCodigo: %d", cadastro[cont].cod); getchar (); printf("\nNome: "); fgets (cadastro[cont].nome, 30, stdin); printf("\nSalario: "); scanf ("%f", &cadastro[cont].salario); getchar(); printf("\nSetor de Trabalho: "); gets (cadastro[cont].setor); printf("\nFuncao: "); gets (cadastro[cont].funcao); printf ("\nLentra (n) para novo cadastro, ou qualquer outra para sair: "); scanf ("%c", &soun); cont++; getchar (); if (cont >= 100){ printf ("Esgotado limite de cadastro !!"); } }while (soun == 'n'); arquivo = fopen("dados.txt", "w"); for(i=0; i < cont; i++){ fwrite(&cadastro[i], sizeof(struct dados), 1, arquivo); } fclose(arquivo); main (); } void listar (){ int i, cont = 0; FILE *arquivo; arquivo = fopen("dados.txt", "r"); while (!feof(arquivo)){ fread(&cadastro[cont], sizeof(struct dados), 1, arquivo); if (!feof(arquivo)){ cont++; } } fclose(arquivo); for(i=0; i < cont; i++){ printf("\nCodigo: %d", cadastro[i].cod); printf("\nNome: %s",cadastro[i].nome); printf("Salario: %5.2f\n",cadastro[i].salario); printf("Setor: %s\n",cadastro[i].setor); printf("Funcao: %s\n",cadastro[i].funcao); system("pause>>NULL"); } main (); } void media (){ int cont = 0; float salario = 0, mediasalario = 0; FILE *arquivo; arquivo = fopen("dados.txt", "r"); while (!feof(arquivo)){ fread(&cadastro[cont], sizeof(struct dados), 1, arquivo); if (!feof(arquivo)){ salario = salario + cadastro[cont].salario; cont++; } } mediasalario = salario / cont; printf ("\nAtualmente existe %d funcionarios contratados", cont); printf ("\nA Media geral de Salario é: %5.2f por Funcionario Registrado\n\n", mediasalario); main (); } void pesquisa (){ int cont = 0, codigo, aux = 2; printf ("Digite o codigo do Funcionario: "); scanf ("%d", &codigo); printf ("\nPesquisando no Banco de Dados..."); FILE *arquivo; arquivo = fopen("dados.txt", "r"); while (!feof(arquivo)){ fread(&cadastro[cont], sizeof(struct dados), 1, arquivo); if (!feof(arquivo)){ if (codigo == cadastro[cont].cod){ aux = 1; printf ("\n\n\nCadastro Encontrado !!"); printf("\nCodigo: %d", cadastro[cont].cod); printf("\nNome: %s",cadastro[cont].nome); printf("Salario: %5.2f\n",cadastro[cont].salario); printf("Setor: %s\n",cadastro[cont].setor); printf("Funcao: %s\n\n\n",cadastro[cont].funcao); } cont++; } } if (aux == 2){ printf ("\nCadastro não Encontrado !!\n\n"); } main (); } void excluir (){ int i = 0, cont = 0, codigo; printf ("Digite o codigo do Funcionario: "); scanf ("%d", &codigo); FILE *arquivo; arquivo = fopen("dados.txt", "r+"); while (!feof(arquivo)){ fread(&cadastro[i], sizeof(struct dados), 1, arquivo); if (!feof(arquivo)){ cont = cadastro[i].cod + 1; i++; } } arquivo = fopen("dados.txt", "w"); for(i=0; i < cont; i++){ if (cadastro[i].cod != codigo){ fwrite(&cadastro[i], sizeof(struct dados), 1, arquivo); } } fclose(arquivo); main (); } int main (){ int op; system("cls"); printf ("\nEscolha uma opcao\n"); printf ("\n(1) - Para Cadastrar"); printf ("\n(2) - Para Listar"); printf ("\n(3) - Media de Salario dos funcionarios"); printf ("\n(4) - Pesquisar Funcionario pelo Codigo de Cadastro"); printf ("\n(5) - Excluir arquivo"); printf ("\n(0) - Sair \n\n>> "); scanf ("%d", &op); if (op == 1){ cadastrar (); } if (op == 2){ listar (); } if (op == 3){ media (); } if (op == 4){ pesquisa (); } if (op == 5){ excluir (); } if (op == 0){ return 0; } } Tenta desta forma Att, Barão.
  17. Barao

    Ajuda com programa C

    Você disse que tem um programa que calcula datas e disse tambem que já calculou uma data( a pascoa) e porque não calcular a segunda como calculou a primeira(pascoa)? formule melhor sua pergunta Eu não consegui entender o seu propósito. Se possível poste o código pra todos que lerem este post entender.
  18. Tenta desta forma e posta o resultado. #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> int menu(); struct cadastroa{ char nome[50]; char sexo[10]; int idade; }; int main(){ int e; int i = 0; int j = 0; setlocale(LC_ALL," "); struct cadastroa dados[60]; do{ printf("1 - Fazer cadastro de novo aluno\n"); printf("2 - Mostrar alunos cadastrados..\n"); printf("3 - Sair........................\n"); printf("Opção: "); scanf("%i", &e); switch(e){ case 1:{ printf("Informe o nome completo do aluno: "); scanf("%s", dados[i].nome); while (getchar() != '\n');//Pegando todos caracteres do buffer, chegando no '\n'(enter) ele descarta o '\n' e sai do loop printf("Informe o sexo do aluno: "); scanf("%s", dados[i].sexo); while (getchar() != '\n'); printf("Informe a idade do aluno: "); scanf("%i", &dados[i].idade); while (getchar() != '\n'); i++; j++; break; } case 2:{ for(i = 0; i < j; i++){ printf("Aluno %i: %s\n", i + 1, dados[i].nome); } system("pause"); break; } } } while(e != 3); system("pause"); return 0; } Att Barão.
  19. Em C a primeira posição começa em 0. X = A Porque o i do 1º for recebe 0 que é a posição de A Veja como resolvi esta questão #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i; char x[] = "ABCDEF"; //aqui o loop comeca na posicao 1 que e a posição de B for (i = 1; i < 6; i++) { printf("\n X = %c\n\n", x[i]); } //aqui o loop comeca na posicao 5 que e a posição de F for (i = 5; i < 6; i++) { printf("\n X = %c\n\n", x[i]); } system("pause"); return 0; }
  20. Se possível posta o código do programa para facilitar.
  21. Posta mais detalhes sobre este programa; O que voçê pretende que este programa faça?
  22. #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i; char aux; char x[] = "ABCDEF"; for (i = 0; i < 5; i++) { aux = x[i]; x[i] = x[i + 1]; x[i + 1] = aux; } for (i = 0; i < 6; i++) printf("\n X = %c\n\n", x[i]); system("pause"); return 0; } Testa desta forma e posta o resultado se é isso mesmo.
  23. #include <stdio.h> #include <locale.h> int main(){ setlocale(LC_ALL,""); printf("joão\nJosé\n"); getchar(); return 0; }
  24. #include <stdio.h> #include <stdlib.h> FILE* AbreArquivo(char modo, char caminho[30]){ FILE *arquivo; switch(modo){ case 'g': arquivo = fopen(caminho,"wt"); break; case 'l': arquivo = fopen(caminho,"rt"); break; case 'a': arquivo = fopen(caminho,"a"); break; } if(arquivo==NULL){ //Se houver algum erro, o ponteiro apontará para NULL printf("não foi possivel abrir o arquivo"); exit(0); } return arquivo; } void FecharArquivo(FILE *arquivo){ fclose(arquivo); } void Cadastra(char nome[30], int telefone){ FILE *arquivo; arquivo = AbreArquivo('a', "vendas.txt"); fprintf(arquivo, "%s %d\n", nome, telefone); FecharArquivo(arquivo); } void Listar(){ FILE *arquivo; char nome[30]; int telefone; arquivo = AbreArquivo('l',"vendas.txt"); while(!feof(arquivo)){ fscanf(arquivo,"%s %d ", &nome, &telefone); printf("Nome: %s - Telefone: %d\n", nome, telefone); } FecharArquivo(arquivo); } int main(){ int opcao; char nome[30]; int telefone; do{ system("cls"); printf("\n\n\t\também Vindo ao programa AGENDA\n"); printf("\nMENU"); printf("\n 1 - Registrar Venda"); printf("\n 2 - Listar venda"); printf("\n 3 - Sair"); printf("\nDigite uma opcao: "); scanf("%d", &opcao); system("cls"); switch(opcao){ case 1: printf("\nDigite o nome: "); setbuf(stdin,NULL); gets(nome); printf("\nDigite o telefone: "); scanf("%d", &telefone); Cadastra(nome, telefone); system("pause"); break; case 2: Listar(); system("pause"); break; case 3: printf("\n\nFinalizando...\n\n"); system("pause"); exit(0); break; default: printf("\n\nOpcao invalida! Tente Novamente!\n\n"); system("pause"); } }while(opcao!=3); return 0; } ​Adapte ao seu gosto.
  25. #include <stdio.h> #include <stdlib.h> FILE* AbreArquivo(char modo, char caminho[30]){ FILE *arquivo; switch(modo){ case 'g': arquivo = fopen(caminho,"wt"); break; case 'l': arquivo = fopen(caminho,"rt"); break; case 'a': arquivo = fopen(caminho,"a"); break; } if(arquivo==NULL){ //Se houver algum erro, o ponteiro apontará para NULL printf("Nao foi possivel abrir o arquivo"); exit(0); } return arquivo; } void FecharArquivo(FILE *arquivo){ fclose(arquivo); } void Cadastra(char nome[30], int telefone){ FILE *arquivo; arquivo = AbreArquivo('a', "vendas.txt"); fprintf(arquivo, "%s %d\n", nome, telefone); FecharArquivo(arquivo); } void Listar(){ FILE *arquivo; char nome[30]; int telefone; arquivo = AbreArquivo('l',"vendas.txt"); while(!feof(arquivo)){ fscanf(arquivo,"%s %d ", &nome, &telefone); printf("Nome: %s - Telefone: %d\n", nome, telefone); } FecharArquivo(arquivo); } int main(){ int opcao; char nome[30]; int telefone; do{ system("cls"); printf("\n\n\t\tBem Vindo ao programa AGENDA\n"); printf("\nMENU"); printf("\n 1 - Registrar Venda"); printf("\n 2 - Listar venda"); printf("\n 3 - Sair"); printf("\nDigite uma opcao: "); scanf("%d", &opcao); system("cls"); switch(opcao){ case 1: printf("\nDigite o nome: "); setbuf(stdin,NULL); gets(nome); printf("\nDigite o telefone: "); scanf("%d", &telefone); Cadastra(nome, telefone); system("pause"); break; case 2: Listar(); system("pause"); break; case 3: printf("\n\nFinalizando...\n\n"); system("pause"); exit(0); break; default: printf("\n\nOpcao invalida! Tente Novamente!\n\n"); system("pause"); } }while(opcao!=3); return 0; } Adapte ao seu gosto.
×
×
  • Create New...