Ir para conteúdo
Fórum Script Brasil

Luis G Zeca

Membros
  • Total de itens

    6
  • Registro em

  • Última visita

Sobre Luis G Zeca

Luis G Zeca's Achievements

0

Reputação

  1. Luis G Zeca

    Ajuda com FOR

    Bom dia! Estou fazendo um programa de simulação de pipeline, mas estou tendo problemas com um FOR. Pelo que testei, ele não está iniciando, é como se o programa pulasse ele. Alguém pode me dar uma ajuda? Segue abaixo o programa: #include <stdio.h> #include <stdlib.h> #include <math.h> #include <conio.h> #include <string.h> #include <locale.h> struct process_1{ int t1, t2, t3, t4, t5; char n1[20], n2[20], n3[20], n4[20], n5[20]; }p1; main(){ //Setando linguagem em Portugues setlocale(LC_ALL, "Portuguese"); //Declaracoes de variaveis int nucleo = 0, option = 0, i = 0, j = 0, ttime = 0, firsttime = 0, looptime = 0, times = 0, loopcount = 0, div = 0, rest = 0; //float ; strcpy(p1.n1, "Busca"); strcpy(p1.n2, "Decodificacao"); strcpy(p1.n3, "Busca de Dados"); strcpy(p1.n4, "Executar"); strcpy(p1.n5, "Escrever no Registro"); //Introducão ao programa e coleta do numero de nucleos para calculo posterior printf("------Seja bem vindo ao simulador pipeline 2000------\n\n"); printf(" Com ele é possivel calcular o tempo necessário\n para rodar as suas instrucoes favoritas!\n\n"); printf("----------------------------------------------\n"); printf("Para comecar, insira o número de nucleos que o\nseu processador possui: "); scanf("%d",&nucleo); if (nucleo > 12){ printf("\nEste programa não foi projetado para computadores com mais de 12 núcleos\n"); }//fim if else{ printf("\n----------------------------------------------\n"); //Apresentacão dos processos pré definidos ao usuario printf("Os processos que serão executados por padrão são:\n\n"); printf("%s\n",p1.n1); printf("%s\n",p1.n2); printf("%s\n",p1.n3); printf("%s\n",p1.n4); printf("%s\n",p1.n5); //Menu de selecão para a definicão dos processos a serem executados quest1: printf("\nDeseja continuar com esses processos, ou quer altera-los?\n"); printf("1| Continuar com processos padrão\n"); printf("2| Mudar processos\n"); scanf("%d",&option); switch (option){ case 1: printf("Ótimo! Vamos definir o tempo que cada processo durará\n"); printf("Lembrando que a unidade de tempo definida é ns (nano segundo)\n"); printf("----------------------------------------------\n"); printf("Digite em frente ao nome do processo seu respectivo tempo de duracão\n"); printf("%s ",p1.n1); scanf("%d",&p1.t1); printf("\n%s ",p1.n2); scanf("%d",&p1.t2); printf("\n%s ",p1.n3); scanf("%d",&p1.t3); printf("\n%s ",p1.n4); scanf("%d",&p1.t4); printf("\n%s ",p1.n5); scanf("%d",&p1.t5); printf("\nTempos Cadastrados com sucesso!\n"); break; case 2: printf("\nTudo bem, vamos comecar a redefinir os processos\n"); printf("Digite o nome dos processos a serem executados\n"); printf("1º: "); fflush(stdin); scanf("%s",&p1.n1); printf("\n2º: "); scanf("%s",&p1.n2); printf("\n3º: "); scanf("%s",&p1.n3); printf("\n4º: "); scanf("%s",&p1.n4); printf("\n5º: "); scanf("%s",&p1.n5); printf("\n----------------------------------------------\n"); printf("Agora vamos definir a duracão de cada processo\n"); printf("Lembrando que a unidade de tempo definida é ns (nano segundo)\n"); printf("\n----------------------------------------------\n"); printf("Digite em frente ao nome do processo seu respectivo tempo de duracão\n"); printf("%s ",p1.n1); scanf("%d",&p1.t1); printf("\n%s ",p1.n2); scanf("%d",&p1.t2); printf("\n%s ",p1.n3); scanf("%d",&p1.t3); printf("\n%s ",p1.n4); scanf("%d",&p1.t4); printf("\n%s ",p1.n5); scanf("%d",&p1.t5); printf("\nTempos Cadastrados com sucesso!\n"); break; default: printf("Comando invalido, tente novamente!\n"); goto quest1; }//fim switch printf("Agora que temos todos os dados cadastrados, precisamos saber de uma ultima coisa\n"); printf("Quantas vezes essa instrucão deverá ser executada?\n"); scanf("%d",&times); ttime = p1.t1 + p1.t2 + p1.t3 + p1.t4 + p1.t5; firsttime = ttime - p1.t1; i = firsttime; if (nucleo >= times){ printf("%d ns é o tempo que seu computador leva para executar sua instrucão!",ttime); } else{ div = times / nucleo; rest = times % nucleo; loopcount = (div + rest) - 1; for(j=loopcount; j==0; j--){ for(i; i==ttime; i++){ looptime = looptime + 1; } } ttime = looptime + ttime; printf("%d ns é o tempo que seu computador leva para executar sua instrucão!",ttime); printf("%d ",looptime); printf("%d ",div); printf("%d ",rest); printf("%d ",loopcount); printf("%d ",p1.t1); printf("%d ",firsttime); printf("%d ",i); printf("%d ",j); }//fim else da verificacao de nucleos }//fim else }//end
  2. Então, justamente por esse lance de puxarem a orelha que eu estou preocupado kkkk Eu acho o comando muito bom na sua proposta, e não conheço (apesar de ser novato na linguagem) um comando que possa substitui-lo, por isso vim perguntar aqui Mas obrigado por sua resposta!
  3. rodei seu código aqui no DEV C+ e foi numa boa, só notei um problema na matemática usada. Mesmo que o aluno tire 10 em ambas as provas, sua média nunca será maior que 5. espero ter ajudado
  4. Li em alguns sites que o comando 'goto' já não é mais usado, que se tornou antiquado. Gostaria de saber qual comando usar no seu lugar no caso abaixo. maior: printf("-----------------------------------------\n"); printf("Qual foi a sua nota de P1?\n"); scanf("%f",&p1); printf("\nQual foi a sua nota de P2?\n"); scanf("%f",&p2); printf("\nQual foi a sua nota de quiz?\n"); scanf("%f",&quiz); printf("\nQual foi a sua nota de trabalho?\n"); scanf("%f",&trab); if (p1>10 || p2>10 || quiz>10 || trab>10) { printf("\nSuas notas não correspondem ao padrão de avaliacao da universidade\n"); printf("Insira-as novamente\n\n\n"); goto maior; }
  5. Muito obrigado @Thiago André Cardoso, eu não tinha visto isso e tava me matando aqui pra achar o erro! Você fez o dia de um estudante melhor!
  6. Boa noite, Estava fazendo um programa para calcular a média ponderada da minha faculdade, porém, meu código parece pular o primeiro 'if' e depois disso ele aparentemente 'crasha'. Se alguém puder me dar uma luz e me falar aonde estou errando, eu serei eternamente grato kk #include <stdio.h> #include <math.h> #include <stdlib.h> #include <conio.h> #include <iostream> main() { float prova=0, quiz=0, trab=0, pesop=0, pesoq=0, pesot=0, pesototal=0, media=0; int quest=1; while (quest==1) { printf("Primeiro, vamos dar entrada nas suas notas\n"); printf("-----------------------------------------\n"); printf("Qual foi a sua nota de prova?\n"); scanf("%f",&prova); printf("\nQual foi a sua nota de quiz?\n"); scanf("%f",&quiz); printf("\nQual foi a sua nota de trabalho?\n"); scanf("%f",&trab); printf("-----------------------------------------\n"); printf("Agora vamos colocar o peso de cada nota para que a média possa ser calculada\n"); //printf("Insira valores que totalizarão no máximo 1.0\n"); printf("-----------------------------------------\n"); peso: printf("\nQual o peso da sua prova na disciplina em questão?\n"); scanf("%f",&pesop); printf("\nQual o peso do quiz na disciplina em questão?\n"); scanf("%f",&pesoq); printf("\nQual o peso do trabalho na disciplina em questão?\n"); scanf("%f",pesot); pesototal = pesop + pesoq + pesot; if (pesototal!=10) { printf("Os pesos colocados não correspondem a uma média que vale 10 pontos, favor corrija-os\n\n\n"); goto peso; } else { media = (prova*(pesop/10))+(quiz*(pesoq/10))+(trab*(pesot/10)); if (media>=7.0) { printf("Parabéns, você foi aprovado nesta matéria com média %f.2\n", media); } else { if (media<7.0 && media>=5.0) { printf("Sua média não alcancou o esperado, mas você ainda tem chances no exame %f.2\n", media); } else { printf("Infelizmente sua média não satisfez o minimo, você foi reprovado nesta matéria %f.2\n", media); } } } printf("Gostaria de continuar utilizando o programa?\n"); printf("[0]Sim"); printf("[1]Não"); scanf("%d",&quest); printf("Obrigado por utilizar nosso programa de média ponderada, até a próxima!"); } }
×
×
  • Criar Novo...