Ir ao conteúdo
  • Cadastre-se

Lucas Pelepek

Membro Pleno
  • Posts

    56
  • Cadastrado em

  • Última visita

Tudo que Lucas Pelepek postou

  1. Função que escreve e lê o arquivo binário: int FUNCAO_QUE_GRAVA_BIN (char filename[],int partida1,char resultado1) { typedef struct { int partida; char jogvelha[3][3]; char resultado; } velha; velha partida = {partida1,{"a","b"},resultado1},read_data; FILE * file= fopen(filename, "wb"); if (file != NULL) { fwrite(&partida, sizeof(velha), 1, file); fclose(file); FILE* fin = fopen(filename, "rb"); fread(&read_data, sizeof(velha), 1, file); printf("%d %c %c\n", read_data.partida, read_data.jogvelha[3][3], read_data. resultado); fclose(fin); fflush(stdin); while(getchar()!='\n'); // option TWO to clean stdin getchar(); // wait for ENTER return 0;//failure //ignore } return 1; //sucesso /ignore } chamando no main : int ganhador=1; char local[]={"binar"}; int partidas= 1; FUNCAO_QUE_GRAVA_BIN(local,partidas,ganhador); o problema é que o output está saindo tudo errado, o jogvelha[3][3] não sai direito, como arrumar?
  2. Um usuário escreve um titulo e um texto, que então são guardados em uma table, há como criar uma lista desses títulos que então se clicados redirecionam ao texto relacionado? o usuário se quiser pode escrever mais títulos e textos, e então a lista pode crescer. apenas queria saber se essa lista pode ser feita, consigo criar listas, porém não de uma database que recebeu input de um user. não sei se algo assim é possível, obrigado desde já, aprecio qualquer dica.
  3. Bom dia, tarde, noite. problema: Parse error: syntax error, unexpected ';' in C:\xampp\htdocs\check_form.php on line 37 no codigo: else if ((filter_var($_POST["Email"],FILTER_VALIDATE_EMAIL)){ $erro_Email = "Email é invalido." ; // <---- linha 37 $erro = true; } codigo completo: <?php function verifica_campo($texto){ $texto = trim($texto); $texto = stripslashes($texto); $texto = htmlspecialchars($texto); return $texto; } function verifica_campoEmail($texto){ $texto = filter_var($texto,FILTER_VALIDATE_EMAIL); return $texto; } $consenha= ""; $senha= ""; $datanasc= ""; $Email= ""; $nome = ""; $erro = false; if ($_SERVER["REQUEST_METHOD"] == "POST") { if(empty($_POST["nome"])){ $erro_nome = "Nome é obrigatório."; $erro = true; } else{ $nome = verifica_campo($_POST["nome"]); } if(empty($_POST["Email"])){ $erro_Email = "Email é obrigatório."; $erro = true; } else if ((filter_var($_POST["Email"],FILTER_VALIDATE_EMAIL)){ $erro_Email = "Email é invalido." ; // <----linha 37 $erro = true; } if(empty($_POST["datanasc"])){ $erro_datanasc = "datanasc é obrigatório."; $erro = true; } else{ $datanasc = verifica_campo($_POST["datanasc"]); } if(empty($_POST["senha"])){ $erro_senha = "senha é obrigatório."; $erro = true; } else if ((strcmp($_POST["senha"],$_POST["consenha"])) != 0 ){ $erro_senha = "senha nao bate com consenha."; $erro = true; } if(empty($_POST["consenha"])){ $erro_consenha = "consenha é obrigatório."; $erro = true; } else{ $consenha = verifica_campo($_POST["consenha"]); } } ?> ainda estou trabalhando nele (obviamente), porém esse erro não me deixa ir pra frente. caso precisem do resto do cod: obrigado desde já.
  4. valeu, mas já tinha conseguido fazer assim: for (z = 0; z <= cod; z++) { for ( i = 0; i < strlen(matrizcopia[z]) ; i++) { printf("%c",matrizcopia[z][i]); } if(z<=0){ printf("\n"); } }}
  5. opa, a variavel ( i ) já está sendo inicializada no proprio FOR, mesmo colocando ela lá em cima dá o mesmo resultado. mas como você disse: era só ter mudado o anda. for (int i = 0; i <= (anda-1); i++) { matrizcopia[cod][i]=(portas[i] ? 'O' : 'C'); } cod+=1; } outra mudança pra não ter espaço entre os outputs: for (int i = 0; i < strlen(matrizcopia[z]) ; i++) { printf("%c",matrizcopia[z][i]); }}} o unico problema é que está tendo 2 linhas puladas no final, não sei de onde elas vem, mas obrigado pela ajuda. #include <stdio.h> #include <string.h> void main() { int c, anda, numero,i, x,y,cod,z ,num; y=0; cod=0; char portas[100]; char matrizcopia[1000][1000]; while( 1 ) // 1 faz ser loop eterno { while (1)// loop pra verificar se está dentro dos limites { // printf("Escreva o numero de andares e quanto numeros jogara:\n"); scanf( "%d %d", &anda, &numero ); if ( (anda <= 100 && anda >= 1) && (numero <=200 && numero >= 1) || (anda == 0 && numero == 0) ) { y+=anda; break; }} if( anda == 0 && numero == 0 ) // sai do loop caso 0 0 { break; } for( c=0; c<anda; c++ ) // zera o vetor { portas[c] = 0; } for( c=0; c<numero; c++ ) // le as jogados de acordo com o numero lido antes { //printf("\njogada(%d): ",c+1); scanf( "%d", &num ); for( x=num-1; x<anda; x+=num )// inverte o vetor nas portas calculadas { portas[x] = !portas[x]; }} for ( i = 0; i <= (anda-1); i++) { matrizcopia[cod][i]=(portas[i] ? 'O' : 'C'); } cod+=1; } for (z = 0; z <= cod; z++) { for ( i = 0; i < strlen(matrizcopia[z]) ; i++) { printf("%c",matrizcopia[z][i]); } printf("\n"); }}
  6. bom dia/tarde/noite. #include <stdio.h> #include <string.h> void main() { int c, anda, numero, x,y,cod,z ,num; y=0; cod=0; char portas[100]; char matrizcopia[1000][1000]; while( 1 ) // 1 faz ser loop eterno { while (1)// loop pra verificar se está dentro dos limites { printf("Escreva o numero de andares e quanto numeros jogara:\n"); scanf( "%d %d", &anda, &numero ); if ( (anda <= 100 && anda >= 1) && (numero <=200 && numero >= 1) || (anda == 0 && numero == 0) ) { y+=anda; break; }} if( anda == 0 && numero == 0 ) // sai do loop caso 0 0 { break; } for( c=0; c<anda; c++ ) // zera o vetor { portas[c] = 0; } for( c=0; c<numero; c++ ) // le as jogados de acordo com o numero lido antes { printf("\njogada(%d): ",c+1); scanf( "%d", &num ); for( x=num-1; x<anda; x+=num )// inverte o vetor nas portas calculadas { portas[x] = !portas[x]; }} for (int i = 0; i <= anda; i++) { matrizcopia[cod][i]=(portas[i] ? 'O' : 'C'); } cod+=1; } for (int z = 0; z <= cod; z++) { printf("\n"); for (int i = 0; i < 200; i++) { printf("%c",matrizcopia[z][i]); }}} colocando esse imput: 5 3 3 4 2 0 0 o resultado deveria dar: COOCC porém no meu codigo ele adciona uma letra a mais: COOCCO não importa qual imput. não consigo achar por onde essa letra tá entrando, HELP! obrigado desde já.
  7. É que eu não coloquei aspas nos números na hora da soma, por isso minha pergunta, mas valeu. adicionado 1 minuto depois @DiF <!DOCTYPE html> <html> <head> <style> caixa { width: 300px; border: 2px solid black; padding: 25px; margin: 25px; box-sizing: border-box; display: inline-block; } alinhador { text-align: center; margin-right: auto; margin-left: auto; } entrada[type=number] { width: 100%; padding: 12px 20px; margin: 8px 0; box-sizing: border-box; display: inline-block; } </style> </head> <body> <alinhador> <h1> <caixa>calculador</caixa> </h1> <form> <input type="number" id="p1" name="p1" /> <select id="operador" name="operador"> <option value= "+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select> <input type="number" id="p2" name="p2"> <p id="resultado">=</p> <button id="button" onclick="mais()">calcular!</button> </form> </alinhador> <script> function mais (){ var p1 = document.getElementById("p1").value; var p2 = document.getElementById("p2").value; for (var i = 0; i < tama.length; i++) { p1 = parseInt(tama[i]); p2 = parseInt(tama[i]); } var resultado1 = document.getElementById("resultado"); resultado1.innerHTML = p1 + p2; } </script> </body> </html> valeu, porém mesmo assim não funciona. alguma ideia? o resultado não aparece.
  8. entendi, mas de que lugar tiro? testei em todos relacionados aos 2 números , a unica diferença é que não aparece o resultado mais.
  9. valeu tenho que ficar mais ligado, só que agora, ex: caso eu digite : 10 + 11, aparece como resultado : 1011.
  10. <!DOCTYPE html> <html> <head> <style> caixa { width: 300px; border: 2px solid black; padding: 25px; margin: 25px; box-sizing: border-box; display: inline-block; } alinhador { text-align: center; margin-right: auto; margin-left: auto; } entrada[type=number] { width: 100%; padding: 12px 20px; margin: 8px 0; box-sizing: border-box; display: inline-block; } </style> </head> <body> <alinhador> <h1> <caixa>calculador</caixa> </h1> <form> <input type="number" id="p1" name="p1" /> <select id="operador" name="operador"> <option value= "+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select> <input type="number" id="p2" name="p2"> <p id="resultado"></p> <button id="button" onclick="mais()">calcular!</button> </form> </alinhador> <script> function mais (){ var p1 = document.getElementById("p1").value; var p2 = document.getElementById("p2").value; var resultado1 = document.getElementById("resultado"); resultado1.innerhtml = p1 + p2; } </script> </body> </html> bom dia/tarde/noite. sou muito novato em programação web, e estava tentando fazer esse calculador, porém mesmo seguindo os tutoriais ele não calcula! com certeza devo estar fazendo algo errado muito obvio. só quero que o resultado apareça, o resto do código eu termino depois.
  11. acabou que no final podia usar struct, dai pulei a matriz, rsrsrs, mas valeu pela ajuda.
  12. acho que entendi, mas parece que não. if (!strcmp(w,email[1][c])) me atrapalhei totalmente na matriz, acho que tenho que refazer. ainda core dump.
  13. opa, bem, eu alterei pra isso: #include <stdio.h> #include <stdlib.h> #include <string.h> #define co 2 #define li 2 int main() { char w[41]; char x[41]; char email[co][li]; int c,l,cont; for (c=0; c < co; c++) { printf("Email numero: %d\n",c); printf("email e senha:\n"); for (l = 0; l < li; l++) { scanf("%s",&email[c][l]); } } printf("\ndigite email: "); scanf("%s",&x); for (c=0; c < co; c++) { if (!strcmp(x,email[1][c])) { printf("\ndigite a senha: "); scanf("%s",&w); if (!strcmp(w,email[2][c])) { printf("\nBem vindo"); } else { printf("\nsenha incorreta"); } } else { printf("\nemail não encontrado"); } } } não sei se foi isso que voce tentou me passar, em qualquer caso, o erro acontece depois dessa parte que você me alertou, ou ainda estou errado?
  14. Bom dia,tarde,noite. Estou um tempo sem programar em C, acabei ficando enferrujado. objetivo do programa: Faça um programa que permita o cadastro de 5 logins com e-mail (máximo de 40 caracteres) e senha (máximo de 10 caracteres). Depois, peça para um usuário fazer o login digitando e-mail e senha. Se alguma informação for inválida, repetir. Se for certa, mostrar uma mensagem de confirmação de login e encerrar o programa. (não pode usar struct, nesse caso usei matriz). #include <stdio.h> #include <stdlib.h> #include <string.h> #define co 2 #define li 2 int main() { char w[41]; char x[41]; char email[co][li]; int c,l,cont; for (c=1; c <= co; c++) { printf("Email numero: %d\n",c); printf("email e senha:\n"); for (l = 1; l <= li; l++) { scanf("%s",&email[c][l]); } } printf("\ndigite email: "); scanf("%s",&x); for (c=1; c <= co; c++) { if (!strcmp(x,email[1][c])) { printf("\ndigite a senha: "); scanf("%s",&w); if (!strcmp(w,email[2][c])) { printf("\nBem vindo"); } else { printf("\nsenha incorreta"); } } else { printf("\nemail não encontrado"); } } } porém acontece o "segmentation fault (core dumped)" geralmente quando acontecia isso erá porque eu tinha esquecido um &, mas não é o caso. problema ocorre aqui: printf("\ndigite email: "); scanf("%s",&x);
  15. Bom dia,tarde,noite. desculpa pelo titulo vago, é que realmente estou perdido. o que foi pedido: construa o esquema de banco de dados que segue em DER e ralacional: tipo (codt,nome) (os tipos são:limpeza,higiene,laticinio,farinha,cereal,fruta,verdura). produto (codp,nome,valor) referencia tipo. cliente (codc,nome,rg,cpf,mae,dt_nasc,sexo,cidade,faixasalarial(salario em minimos)). nf (codnf,descrição,codcliente)referencia cliente. itensnf (codnf, codproduto,qtde) referencia produto e nota fiscal. OBS: utilize primary key, foreign key, unique. altere em mais de 10% o valor dos produtos da area de limpeza e higiene. acabei fazendo isso: create table tipo ( codt serial primary key, nome varchar (100) unique ); insert into tipo (nome) values('limpeza'), ('higiene'), ('laticínio'), ('farinha'), ('cereal'), ('fruta'), ('verdura'); create table produto ( codp serial primary key, codt integer, nome varchar (100) unique, valor integer, foreign key (codt) references tipo (codt) ); insert into produto (nome,codt,valor) values ('vassoura',1,111), ('sabonete',2,222), ('leite',3,333), ('farinha branca',4,444), ('kellog',5,555), ('maçã',6,666), ('alface',7,777); create table cliente ( codc serial primary key, nome varchar (100), rg integer unique, cpf integer unique, mae varchar (100), dt_nasc integer, sexo varchar (100), cidade varchar (100), faixasalarial integer ); insert into cliente (nome,rg,cpf,mae,dt_nasc,sexo,cidade,faixasalarial) values ('ana',1111,11111,'maria',1101999,'feminino','curitiba',1000), ('pedro',2222,22222,'eva',22021998,'masculino','maringa',2000), ('joao',3333,33333,'paula',30051997,'masculino','londrina',3000); create table nf ( codnf serial primary key, descrição varchar (100), codc integer, foreign key (codc) references cliente (codc) ); insert into nf (descrição,codc) values ('primeira',1); create table itensnf ( codnf integer, codp integer, qtde integer, foreign key (codp) references produto (codp), foreign key (codnf) references nf (codnf) ); insert into itensnf (codnf,codp,qtde) values (1,1,3); UPDATE produto SET valor = valor * 1.1 mas não acredito que seja isso que deveria ter feito, estou començando em banco de dados, alguma ajuda? obrigado.
  16. @LuisOPsum Opa, obrigado , tava apressado e esqueci de mudar o soma pra outra coisa, hahaha, era só pra fazer um exemplo, implementei a dica de vocês em um outro codigo maior, muito obrigado . @isrnick entendi, não sabia disso,tava quebrando minha cabeça, valeu, consertou o codigo , vou aplicar sua instrução no futuro . @giu_d Ficou lindo, soma era só um exemplo, mas consegui implementar perfeitamente no meu codigo principal.
  17. bom dia,tarde,noite. #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int n; char x[30]; printf("Escreva qual deseja:\nsoma\nencerrar\nR: "); while (strcmp(x,"encerrar")!=0) { scanf ("%[^\n]%*c",&x); if (strcmp(x, "soma")==0) { printf("\nDigite um numero decimal: "); scanf("%d",&n); printf ("\n%d",n); } } printf("\nEncerrando programa ...\n"); } Não sei porque apos a digitação da escolha "soma" ele não retorna ao primeiro scanf? ele continua na soma para sempre. Obrigado desde já.
  18. Opa, era isso mesmo, hahaha, valeu pela ajuda, vou aplicar sua dica nos proximos. adicionado 5 minutos depois já tinha mandado antes de ver sua edição. ficou mil vezes melhor do jeito que voce ajeitou hahaha, tenho que usar como exemplo. valeu pelo limpa linha, irei usar futuramente. adicionado 26 minutos depois @giu_d um pequeno erro aqui: menor_media = aluno[0].media; for (i = 0; i < n; i++) { if (menor_media > aluno[i].media) { menor_media = aluno[i].media; nome_media = i; } } mudando o menor_media para: menor_media = maior_media; for (i = 0; i < n; i++) { if (menor_media > aluno[i].media) { menor_media = aluno[i].media; nome_media = i; } } arruma.
  19. Bom dia/tarde/noite. #include <stdio.h> #include <string.h> # define n 3 typedef struct fichaaluno { int matricula; char nome [30]; int nota1 ; int nota2 ; int nota3 ; float media; } ; struct fichaaluno aluno[n]; void main() { float maiormedia; int a,b,c; int tam,maiorno1,x1,x2,x3; int nomenota1aluno,mediasoma,nomemediaaluno; for (a=0;a<n;a++) { // printf("matricula: "); // scanf("\n%d",&aluno[a].matricula); printf("nome:"); fflush(stdin); fgets(aluno[a].nome,25,stdin); tam=strlen(aluno[a].nome); if(aluno[a].nome[tam-1]=='\n') aluno[a].nome[--tam]='\0'; fflush(stdin); printf("nota1: "); scanf("\n%d",&aluno[a].nota1); printf("nota2: "); scanf("\n%d",&aluno[a].nota2); printf("nota3: "); scanf("\n%d",&aluno[a].nota3); printf("\n"); while ( (c = getchar()) != '\n' && c != EOF ); } maiorno1=aluno[0].nota1; printf("\naluno com maior nota na primeira prova: "); for (a=0;a<n;a++) { if (maiorno1<aluno[a].nota1) maiorno1=aluno[a].nota1; nomenota1aluno=a; //printf("\nmatricula: %d\nnome: %s\nnota1: %d\nnota2: %d\nnota3: %d\n", aluno[a].matricula, aluno[a].nome, aluno[a].nota1, aluno[a].nota2, aluno[a].nota3 ); } printf("\nnota:%i aluno: %s\n",maiorno1,aluno[nomenota1aluno].nome); printf("\naluno com maior media: "); for (a=0;a<n;a++){ x1=aluno[a].nota1; x2=aluno[a].nota2; x3=aluno[a].nota3; aluno[a].media= (x1+x2+x3)/3; } maiormedia=0; for (a=0;a<n;a++) { if (maiormedia<aluno[a].media) maiormedia=aluno[a].media; nomemediaaluno=a; } printf("\nmedia: %.2f aluno: %s\n",maiormedia,aluno[nomemediaaluno].nome); printf("\naluno com a menor media: "); float menormedia=maiormedia; int menormediaaluno; for (a=0;a<n;a++) { if (menormedia>aluno[a].media) menormedia=aluno[a].media; menormediaaluno=a; } printf("\nmedia: %.2f aluno: %s",menormedia,aluno[menormediaaluno].nome); } O problema de logica é nessa parte: maiormedia=0; for (a=0;a<n;a++) { if (maiormedia<aluno[a].media) maiormedia=aluno[a].media; nomemediaaluno=a; //<-------------- } printf("\nmedia: %.2f aluno: %s\n",maiormedia,aluno[nomemediaaluno].nome); printf("\naluno com a menor media: "); float menormedia=maiormedia; int menormediaaluno; for (a=0;a<n;a++) { if (menormedia>aluno[a].media) menormedia=aluno[a].media; menormediaaluno=a; // <------------ } printf("\nmedia: %.2f aluno: %s",menormedia,aluno[menormediaaluno].nome); Tanto o 'nomemedialuno' quanto o 'menormediaaluno' apenas mostram o ultimo imput lido, em vez de mostrarem o que tem a maior media e menor media respectivamente. As medias são mostradas corretamentes, só o nome que sempre sai errado, não consigo pensar numa logica para arrumar isso. qualquer ajuda agradeço : ) .
  20. @Math.Pi Consegui arrumar o problema do scanf pedindo duas vezes imput, mudando a posição do \n pra antes do % . fiz a mudanças que você indicou e mudei o tamanho dos vetores, agora está funcionado corretamente, obrigado pelas dicas. #include <stdio.h> #include <string.h> int main(void) { int x,alunos,l,k,j,e,h,somanota; char gaba[9],respalu[9]; int nota[9]={0,0,0,0,0,0,0,0,0}; printf("GABARITO:\n"); for ( x = 1; x < 9; x++) { printf("quest�o:%d\n",x); fflush(stdin); scanf("\n%c", &gaba[x]); } alunos=2; for (k=1;k<=alunos;k++){ printf("aluno:%d\n",k); somanota=0; for ( h = 1; h < 9; h++) { printf("quest�o:%d\n",h); fflush(stdin); scanf("\n%c", &respalu[h]); } for ( j = 1; j < 9; j++) { if (gaba[j] == respalu[j]) somanota+=1; } nota[k]=somanota; } for ( e = 1; e <= alunos; e++) { printf("aluno:%d\n",e); printf("nota:%d\n",nota[e]); } }
  21. usando o fflush(stdin); deu o mesmo resultado. foi mal, força do habito,mudei. não entendi, ele está comparando o aluno com o gabarito. if (alu[j] == gaba[j]) nota[j]=1; <----- problema aqui talvez? #include <stdio.h> #include <string.h> int main(void) { int x,alunos,l,k,j,e,h; char gaba[7],alu[7]; int nota[7]={0,0,0,0,0,0,0}; printf("GABARITO:\n"); for ( x = 1; x < 9; x++) { printf("questão:%d\n",x); fflush(stdin); scanf("%c\n",&gaba[x]); } alunos=1; for (k=1;k<=alunos;k++){ printf("aluno:%d\n",k); for ( h = 1; h < 9; h++) { printf("questão:%d\n",h); fflush(stdin); scanf("%c\n",&alu[h]); } for ( j = 1; j < 9; j++) { if (alu[j] == gaba[j]) nota[j]=1; } } for ( e = 1; e <= alunos; e++) { printf("aluno:%d\n",e); printf("nota:%d\n",nota[e]); } }
  22. opa, valeu, agora funcionou, mais ou menos, mesmo colando todas respostas corretas o programa só fala que cada aluno acertou = o numero de alunos. exemplo tendo 2 alunos: aluno 1: nota:2 aluno2: nota:2 outra coisa é que ele está lendo 2 vezes do teclado cada vez vem uma questão, pode ser o "setbuf(stdin,NULL);"?. exemplo: "questão 1: a a questão 2: a a ..." #include <stdio.h> #include <string.h> int main(void) { int x,z,l,k,j,e,h; char y[7],w[7]; int b[7]={0,0,0,0,0,0,0}; printf("GABARITO:\n"); for ( x = 1; x < 9; x++) { printf("questão:%d\n",x); setbuf(stdin,NULL); scanf("%c\n",&y[x]); } z=2; for (k=1;k<=z;k++){ printf("aluno:%d\n",k); for ( h = 1; h < 9; h++) { printf("questão:%d\n",h); setbuf(stdin,NULL); scanf("%c\n",&w[h]); } for ( j = 1; j < 9; j++) { if (w[j] == y[j]) ; b[j]=1; } } for ( e = 1; e <= z; e++) { printf("aluno:%d\n",e); printf("nota:%d\n",b[e]); } }
  23. @Math.Pi Edentei e adicionei "#include <string.h>" caso seja algum problema com o "strcmp", o programa compila, mas dá esses Warning: |28|warning: passing argument 1 of 'strcmp' makes pointer from integer without a cast [-Wint-conversion]|. |28|warning: passing argument 2 of 'strcmp' makes pointer from integer without a cast [-Wint-conversion]| pesquisando parece que tenho que por "*", mas não entendi. #include <stdio.h> #include <string.h> int main(void) { int x,z,l,k,j,e,h; char y[7],w[7]; int b[7]; printf("GABARITO:\n"); for ( x = 1; x < 9; x++) { printf("questão:%d\n",x); setbuf(stdin,NULL); scanf("%c\n",&y[x]); } printf("numero de alunos:\n"); setbuf(stdin,NULL); scanf("%d\n",&z); for (k=1;k<=z;k++){ printf("aluno:%d\n",x); for ( h = 1; h < 9; h++) { printf("questão:%d\n",h); setbuf(stdin,NULL); scanf("%c\n",&w[h]); } for ( j = 1; j < 9; j++) { l= (strcmp (w[j],y[j])); //erro if (l==1) { b[j]++; } } } for ( e = 1; e <= z; e++) { printf("aluno:%d\n",e); printf("nota:%d\n",b[e]); } }
  24. opa, valeu, Mudei todos o For's pra garantir : ). #include <stdio.h> int main(void) { int x,z,l,k,j,e,h; char y[7],w[7]; int b[7]; printf("GABARITO:\n"); for ( x = 1; x < 9; x++) { printf("questão:%d\n",x); setbuf(stdin,NULL); scanf("%c\n",&y[x]); } printf("numero de alunos:\n"); setbuf(stdin,NULL); scanf("%d\n",&z); for (k=1;k<=z;k++){ printf("aluno:%d\n",x); for ( h = 1; h < 9; h++) { printf("questão:%d\n",h); setbuf(stdin,NULL); scanf("%c\n",&w[h]); } //Segmentation fault for ( j = 1; j < 9; j++) { l= (strcmp (w[j],y[j])); if (l==1) { b[j]++; } } } for ( e = 1; e <= z; e++) { printf("aluno:%d\n",e); printf("nota:%d\n",b[e]); } } mas agora dá: Process returned -1073741819 (0xC0000005) .

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