Ir ao conteúdo

devair1010

Membro Pleno
  • Posts

    6.298
  • Cadastrado em

  • Última visita

Tópicos solucionados

  1. O post de devair1010 em Crie um programa em C que contenha vetor de 100 elementos. foi marcado como solução   
    @alexandrecasa    para inserir um char no vetor , ele precisar ser também do tipo char ,  e digitar 100 números será bem cansativo ,então você pode colocar números aleatórios automaticamente , assim  :
    #include <stdio.h> #include <time.h> int main (void) { srand(time(NULL)); int i,num; char vetor [100]; printf ("\n Escreva 100 valores para o vetor: "); for (i = 0; i < 100; i++){ //scanf ("%i", &vetor[i]); num = rand() % 100; if(num % 2 == 0)vetor[i] = 'X'; else vetor[i] = 'O'; } i=0; while (i < 100) { printf ("\n Valor do índice: "); if (i % 2 == 0) { printf("\t %i", i); printf ("\t Posição de armazenagem: "); printf ("\t X"); } else { printf("\t %i", i); printf ("\t Posição de armazenagem: "); printf ("\t O"); } i++; } return 0; }  
  2. O post de devair1010 em função que receba um vetor de inteiros e se tamanho, retorna o maior vetor. foi marcado como solução   
    @Caio Fagundes21    o que falta no seu código é criar o vetor vet e enviar também o tamanho , e seu código com essas modificações poderia ser assim  :
    #define _CRT_SECURE_NO_WARNINGS // para usar scanf e outras funcoes no visual studio #include <stdio.h> #include <time.h> // para usar oa funcao srand #include <stdlib.h> // para usar a funcao srand int encontraMaior(int * , int ); // protótipo da funcao int main() { srand(time(NULL)); // semente para a funcao rand int vet[10] = { 0 }; // cria e preenche o vetor com valor zero int i; for (i = 0; i < 10; i++)vet[i] = rand() % 2158 + 1; // gera e preenche com valores aleatorios o vetor int pos = encontraMaior(vet,10); printf("Maior valor esta na posicao %d pos numero\n\ \re o Maior Numero eh %d " , pos,vet[pos]); for (i = 0; i < 10; i++)printf("%3d == %4d\n\t\t\t\t", i, vet[i]); return 0; } int encontraMaior(int vetor[], int tam) { int i, indice = 0; int maior = vetor[0]; for (i = 1; i < tam; i++) { if (vetor[i] > maior) { maior = vetor[i]; indice = i; } } return indice; }  
  3. O post de devair1010 em função que receba um vetor de inteiros e se tamanho, retorna o maior vetor. foi marcado como solução   
    @Caio Fagundes21    o que falta no seu código é criar o vetor vet e enviar também o tamanho , e seu código com essas modificações poderia ser assim  :
    #define _CRT_SECURE_NO_WARNINGS // para usar scanf e outras funcoes no visual studio #include <stdio.h> #include <time.h> // para usar oa funcao srand #include <stdlib.h> // para usar a funcao srand int encontraMaior(int * , int ); // protótipo da funcao int main() { srand(time(NULL)); // semente para a funcao rand int vet[10] = { 0 }; // cria e preenche o vetor com valor zero int i; for (i = 0; i < 10; i++)vet[i] = rand() % 2158 + 1; // gera e preenche com valores aleatorios o vetor int pos = encontraMaior(vet,10); printf("Maior valor esta na posicao %d pos numero\n\ \re o Maior Numero eh %d " , pos,vet[pos]); for (i = 0; i < 10; i++)printf("%3d == %4d\n\t\t\t\t", i, vet[i]); return 0; } int encontraMaior(int vetor[], int tam) { int i, indice = 0; int maior = vetor[0]; for (i = 1; i < tam; i++) { if (vetor[i] > maior) { maior = vetor[i]; indice = i; } } return indice; }  
  4. O post de devair1010 em função que receba um vetor de inteiros e se tamanho, retorna o maior vetor. foi marcado como solução   
    @Caio Fagundes21    o que falta no seu código é criar o vetor vet e enviar também o tamanho , e seu código com essas modificações poderia ser assim  :
    #define _CRT_SECURE_NO_WARNINGS // para usar scanf e outras funcoes no visual studio #include <stdio.h> #include <time.h> // para usar oa funcao srand #include <stdlib.h> // para usar a funcao srand int encontraMaior(int * , int ); // protótipo da funcao int main() { srand(time(NULL)); // semente para a funcao rand int vet[10] = { 0 }; // cria e preenche o vetor com valor zero int i; for (i = 0; i < 10; i++)vet[i] = rand() % 2158 + 1; // gera e preenche com valores aleatorios o vetor int pos = encontraMaior(vet,10); printf("Maior valor esta na posicao %d pos numero\n\ \re o Maior Numero eh %d " , pos,vet[pos]); for (i = 0; i < 10; i++)printf("%3d == %4d\n\t\t\t\t", i, vet[i]); return 0; } int encontraMaior(int vetor[], int tam) { int i, indice = 0; int maior = vetor[0]; for (i = 1; i < tam; i++) { if (vetor[i] > maior) { maior = vetor[i]; indice = i; } } return indice; }  
  5. O post de devair1010 em Passar para TAD o código foi marcado como solução   
    @Sskrainer    o Que voce quer fizer vom TAD  ?  ,    e o wue esse vodigo deve fazer ?
  6. O post de devair1010 em Verificar se variável é unsigned foi marcado como solução   
    @Luccas Fernando    creio Que vai funciOnar Sim , e se você estiver usar um compilador desse século ,  como o visual studio comunity 2019 , com certeza funciona , e também você pode ver os tipos de todas as variáveis , como nesse programa , postado por    @ArfNeto :
    #include <iostream> #include <typeinfo> using namespace std; int f(int); int main() { unsigned int aer = 874; int i = 0, num{}; double d{}; char c{}; long l; string str{}; struct tst { }; class uma_classe { }; cout << "unsigned int > a variavel aer eh do Tipo " << typeid(aer).name() << endl; cout << "int ----> a variavel i eh do Tipo "<< typeid( i ).name()<< endl; cout << "double -> a variavel d eh do Tipo "<< typeid( d ).name()<< endl; cout << "char ---> a variavel c eh do Tipo "<< typeid( c ).name()<< endl; cout << "char ---> a variavel l eh do Tipo "<< typeid( l ).name()<< endl; cout << "struct -> a struct eh do Tipo "<< typeid( tst ).name()<< endl; cout << "string -> a variavel str eh do Tipo "<< typeid( str ).name()<< endl; cout << "classe -> a classe uma_classe eh do Tipo "<< typeid(uma_classe).name()<< endl; cout << "funcao -> a variavel f eh do Tipo "<< typeid( f ).name()<< endl; /* pair<int, double> valor{ 1,2.340f }; auto [a, b] = valor; cout << "tipo de a = " << typeid(a).name() << endl; cout <<" valor = " << a << endl; cout << "tipo de b = " << typeid(b).name() << endl; cout <<" valor = " << b << endl; */ cout << "insira um número "; cin >> num; return 0; } int f(int v) { return 8; }  
  7. O post de devair1010 em programa não fecha em c foi marcado como solução   
    @Caio Fagundes21    essas comparações precisam estar dentro da função   "saoPositivos"  ,  e como disse no enunciado , depois de pegar os dois números reais precisa enviar eles para a função  por parâmetro e lá verifica os dois se são menor ou iguaL a zero , e nesse seu código você ainda não criou a função ,  que existem muitos modos de se fazer , mas também poderia ser assim  :
    #define _CRT_SECURE_NO_WARNINGS /// para usar scanf e outras funções #include <stdio.h> float saoPositivos(int, int); /// protótipo de função int main(void) { float m,n; int ret=0; printf("Dois numeros reais "); /// msg scanf("%f %f", &n, &m); /// dois numeros separados por um espaço ret = saoPositivos(m, n); /// pegar o retorno da função if ( ret == 1 ) /// se retornou 1 { printf("Ambos os valores são positivos \n"); /// escreve msg } else /// se não retornou 1 , entao retornou zero { printf("Ao menos um dos valores eh negativo ou eh igual a zero. \n"); /// escreve msg } return 0; /// retorna para o windows } float saoPositivos(int y, int z) { /// aqui faz a verificação se ambos sao <= 0; /// e retorna zero , return 1; /// se ambos sao positicos }  
  8. O post de devair1010 em .exe fecha antes de mostrar o resultado foi marcado como solução   
    @Nelsonderocha        Ola   ,   e como voce não postou o codigo ,  que já foi dito por    @arfneto    ,   não saberemos o que pode ter acontecido ,    mas creio que se voce quiser e puder ,   experimentar  colocar uma pausa no final do codigo de seu programa ,  e poderia ser mais  ou   menos assim  :
    #include <stdlib.h>
    system("pause");
    assim o console vai executar e parar no final esperando voce clicar em alguma tecla do teclado  ,  pois o codeBlocks tem um comando desses embutido ,  que não aparece no programa mas esta la e funciona bem  ...
  9. O post de devair1010 em Resultado esta saindo errado foi marcado como solução   
    @Trem_P3    o comando para verificações é o   if  , e você segue o que diz o menu , se 1 significa candidato 1 e 2 candidato 2 , entao
    if digitou 1 // aqui pode ficar sem as chaves , pois será apenas um comando cand1++; // soma os votos do candidato 1 else // se não é codigo 1 if codigo == 2 // aqui pode ficar sem as chaves , pois será apenas um comando cand2++; // aqui está dentro do if , e soma mais 1 voto para o candidato 2  
  10. O post de devair1010 em auxílio na questão. já tenho algo feito. foi marcado como solução   
    @Caio Fagundes21    seu código está pronto , apenas que você colocou alguns símbolos fora do local certo ,  e corrigido poderia ser assim  :
    #include <stdio.h> #include <stdlib.h> // { abre chave fora do local apropriado float valor(float total) // ; ponto e virgula aqui não pode { // abre chaves seria aqui float qwtt = total * 0.618; // qwtt armazena o calculo qwtt = qwtt + qwtt * 0.18; return qwtt; // valor; retornar o resultado dos calculos } int main() { float kwh, valor_total; printf(" Quantidade de kilowats -: "); scanf("%f", & kwh); valor_total = valor(kwh); printf(" valor a ser pago\n"); printf(" %.2f igual a: ",kwh, valor_total); system("pause"); return 0; }  
  11. O post de devair1010 em Tela azul ao tentar formatar foi marcado como solução   
    @WR Informatica PFZ    ainda nunca vi uma mensagem igual a essa ,   e essa origens da instalação pode bem ser o hd mesmo ,  seria melhor descarta-lo , e usar outro .
  12. O post de devair1010 em como criar um arquivo e ver se ele existe foi marcado como solução   
    @b.0463    tente abrir o arquivo , e se não der esse erro 
    try: a = open(arq,'rt') a.close() except FileNotFoundError: arquivo = False else: arquivo = True if(arquivo == true ): o arquivo existe , e pode continuar o programa .
  13. O post de devair1010 em Dificuldade em fazer o codigo em C foi marcado como solução   
    @Lavínia dos Santos Souza  testei esse código e está funcionando  , mas precisa digitar um potencia maior que 100 para ele fazer a contagem 
    :
    #include <stdio.h> #include <windows.h> struct automovel { char modelo [50]; char ano [5]; char proprietario [50]; int potencia; char IPVA [12]; }; void textcolor(int,int); int main() { int c_letra_ant, c_fundo_ant; HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO c; GetConsoleScreenBufferInfo(h, &c); c_letra_ant = c.wAttributes & 0x0F; c_fundo_ant = c.wAttributes >> 4 & 0x0F; struct automovel cadastro; int i, cont=0; char ch; for(i=0; i<1; i++) { textcolor(14,0); printf("Digite o modelo do carro -----------: "); textcolor(11,0); scanf("%s",cadastro.modelo); while(ch = fgetc(stdin) != '\n'); // limppar o buffer do teclado textcolor(14,0); printf("Digite o ano do carro --------------: "); textcolor(11,0); scanf("%s",cadastro.ano); while(ch = fgetc(stdin) != '\n'); // limppar o buffer do teclado textcolor(14,0); printf("Digite o nome do dono do carro -----: "); textcolor(11,0); scanf("%s",cadastro.proprietario); while(ch = fgetc(stdin) != '\n'); // limppar o buffer do teclado textcolor(14,0); printf("Digite a potencia do carro (em cv) -: "); textcolor(11,0); scanf("%d",&cadastro.potencia); while(ch = fgetc(stdin) != '\n'); // limppar o buffer do teclado textcolor(14,0); printf("O IPVA do carro esta pago ? -------: "); textcolor(11,0); scanf("%s",cadastro.IPVA); while(ch = fgetc(stdin) != '\n'); // limppar o buffer do teclado if(cadastro.potencia > 100) { cont++; } } printf("\n\n"); textcolor(15,0); printf("A quantidade de automoveis que tem motores\n\n"); textcolor(10,12); printf(" com potencia superior a 100cv eh de : "); textcolor(15,9); printf(" %d \n\n\n",cont); textcolor(c_letra_ant, c_fundo_ant); return 0; } void textcolor(int letra,int fundo) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), letra +(fundo << 4)); }  
  14. O post de devair1010 em Dificuldade em fazer o codigo em C foi marcado como solução   
    @Lavínia dos Santos Souza  testei esse código e está funcionando  , mas precisa digitar um potencia maior que 100 para ele fazer a contagem 
    :
    #include <stdio.h> #include <windows.h> struct automovel { char modelo [50]; char ano [5]; char proprietario [50]; int potencia; char IPVA [12]; }; void textcolor(int,int); int main() { int c_letra_ant, c_fundo_ant; HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO c; GetConsoleScreenBufferInfo(h, &c); c_letra_ant = c.wAttributes & 0x0F; c_fundo_ant = c.wAttributes >> 4 & 0x0F; struct automovel cadastro; int i, cont=0; char ch; for(i=0; i<1; i++) { textcolor(14,0); printf("Digite o modelo do carro -----------: "); textcolor(11,0); scanf("%s",cadastro.modelo); while(ch = fgetc(stdin) != '\n'); // limppar o buffer do teclado textcolor(14,0); printf("Digite o ano do carro --------------: "); textcolor(11,0); scanf("%s",cadastro.ano); while(ch = fgetc(stdin) != '\n'); // limppar o buffer do teclado textcolor(14,0); printf("Digite o nome do dono do carro -----: "); textcolor(11,0); scanf("%s",cadastro.proprietario); while(ch = fgetc(stdin) != '\n'); // limppar o buffer do teclado textcolor(14,0); printf("Digite a potencia do carro (em cv) -: "); textcolor(11,0); scanf("%d",&cadastro.potencia); while(ch = fgetc(stdin) != '\n'); // limppar o buffer do teclado textcolor(14,0); printf("O IPVA do carro esta pago ? -------: "); textcolor(11,0); scanf("%s",cadastro.IPVA); while(ch = fgetc(stdin) != '\n'); // limppar o buffer do teclado if(cadastro.potencia > 100) { cont++; } } printf("\n\n"); textcolor(15,0); printf("A quantidade de automoveis que tem motores\n\n"); textcolor(10,12); printf(" com potencia superior a 100cv eh de : "); textcolor(15,9); printf(" %d \n\n\n",cont); textcolor(c_letra_ant, c_fundo_ant); return 0; } void textcolor(int letra,int fundo) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), letra +(fundo << 4)); }  
  15. O post de devair1010 em Questão de repetição linguagem C foi marcado como solução   
    @joaoferraz10     no loop voce precisa colocar o   "    valor     "   como final e incrementar de tres em tres seria assim  , 
    for(contador=0; contador <= valor ;  contador += 3)
        printf("%d,  ",contador);
    printf(" acabou");
     
    mas tem outros modos de incrementar variaveis , que depende do seu gosto   .
  16. O post de devair1010 em Focar em uma linguagem só ou em varias? foi marcado como solução   
    @Um mero usuário   as linguagens são praticamente iguais , o que muda é a syntaxe de cada linguagem ,  e memorizar muitas será bem difícil , assim a cada linguagem que for usar vai precisar pesquisar para relembrar como usar cada comando ,  mas se estudar em torno de três ou Quatro terá melhores chances , e as principais  como  java  javascript python e c/c++  , sendo que essa última seria melhor aproveitada se usar uma IDE com gráficos como JBuilder c++ .
  17. O post de devair1010 em Focar em uma linguagem só ou em varias? foi marcado como solução   
    @Um mero usuário   as linguagens são praticamente iguais , o que muda é a syntaxe de cada linguagem ,  e memorizar muitas será bem difícil , assim a cada linguagem que for usar vai precisar pesquisar para relembrar como usar cada comando ,  mas se estudar em torno de três ou Quatro terá melhores chances , e as principais  como  java  javascript python e c/c++  , sendo que essa última seria melhor aproveitada se usar uma IDE com gráficos como JBuilder c++ .
  18. O post de devair1010 em Focar em uma linguagem só ou em varias? foi marcado como solução   
    @Um mero usuário   as linguagens são praticamente iguais , o que muda é a syntaxe de cada linguagem ,  e memorizar muitas será bem difícil , assim a cada linguagem que for usar vai precisar pesquisar para relembrar como usar cada comando ,  mas se estudar em torno de três ou Quatro terá melhores chances , e as principais  como  java  javascript python e c/c++  , sendo que essa última seria melhor aproveitada se usar uma IDE com gráficos como JBuilder c++ .
  19. O post de devair1010 em Dificuldade em completar exercício em C foi marcado como solução   
    @AnderJack     você colocou a variável tamanho no loop de mostrar a fila , e a variável fim se daria melhor nessa situação ,  e usar locale.h para acentuações não costuma funcionar bem em outros pc que não seja o seu , então melhor não usa-la , e também nomes das variáveis não pode ter acentos , e seu código modificado poderia ser assim  :
    #define _CRT_SECURE_NO_WARNINGS // para usar scanf e outras funções no VisuaL Studio #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <locale.h> #include <string.h> //Constante que define o tamanho máximo da estrutura de dados #define tamanho 5 //Declaração do tipo_fila: estrutura de dados struct tinformacoes { char ra_aluno[10]; char arq[10]; char ext_arq[10]; char matri_prof[10]; }; struct tfila { struct tinformacoes dados[tamanho]; int ini; int fim; }; //Variaveis globais struct tfila fila; struct tinformacoes informações; int op; //Prototipação void fila_entrar(); void fila_sair(); void fila_mostrar(); void menu_mostrar(); void esvaziar_fila(); int main() { setlocale(LC_ALL, "portuguese"); op = 1; char c; fila.ini = 0; fila.fim = 0; fila_mostrar(); while (op != 0) { system("cls"); menu_mostrar(); op = _getch() - 48; // não precisa pressionar ENTER printf(" %d\n", op); system("cls"); switch (op) { case 0: printf("\n\n\n\t\tSaindo Do Pro gRamah . . . !\n\n\n"); break; case 1: fila_entrar(); break; case 2: fila_sair(); break; case 3: esvaziar_fila(); break; case 4: fila_mostrar(); break; default: printf("=== OPCAO INVALIDA . . . ! ===\n"); system("pause"); } } return(0); } //Adicionar um elemento no final da Fila void fila_entrar() { char c; printf("\n"); if (fila.fim == tamanho) { printf("\nA fila esta cheia!\n\n"); system("pause"); } else { printf("Digite o RA do aluno -------------: "); scanf("%s", &fila.dados[fila.fim].ra_aluno); while (c = fgetc(stdin) != '\n'); // limpar o buffer do teclado printf("Digite o nome do arquivo ---------: "); scanf("%s", &fila.dados[fila.fim].arq); while (c = fgetc(stdin) != '\n'); // limpar o buffer do teclado printf("Digite a extencao do arquivo -----: "); scanf("%s", &fila.dados[fila.fim].ext_arq); while (c = fgetc(stdin) != '\n'); // limpar o buffer do teclado printf("Digite a matricula do professor --: "); scanf("%s", &fila.dados[fila.fim].matri_prof); while (c = fgetc(stdin) != '\n'); // limpar o buffer do teclado fila.fim++; } } void fila_sair() { if (fila.ini == fila.fim) { printf("\nA fila esta vazia!\n\n"); system("pause"); } else { int i; for (i = 0; i < tamanho; i++) { fila.dados[i] = fila.dados[i + 1]; } fila.fim--; } } void esvaziar_fila() { if (fila.fim == fila.ini) { printf("\nA fila esta vazia!\n\n"); system("pause"); } else { fila.fim = fila.ini; // isso resolve } } void fila_mostrar() { int i; printf("\n"); if (!fila.fim) printf("Nao Tem nada Arm AzenadO Aqui . . . !\n"); for (i = 0; i < fila.fim; i++) { printf("RA do aluno ------------: %s \n", fila.dados[i].ra_aluno ); printf("Nome do arquivo --------: %s \n", fila.dados[i].arq ); printf("Ext. Arquivo -----------: %s \n", fila.dados[i].ext_arq ); printf("Matricula do professor -: %s \n", fila.dados[i].matri_prof); printf("-------------------------------------------------------\n"); } printf("\t\tTecle . . . !\n"); _getch(); printf("\n\n"); } void menu_mostrar() { printf("======== SISTEMA ACADEMICO ========\n\n"); printf("0 - Encerrar o programa\n" ); printf("1 - Inserir um elemento na fila\n" ); printf("2 - Remover um elemento da fila\n" ); printf("3 - Esvaziar a fila\n" ); printf("4 - mostrar fila\n\n" ); printf("Escolha uma opcao " ); }  
  20. O post de devair1010 em Dificuldade em completar exercício em C foi marcado como solução   
    @AnderJack     você colocou a variável tamanho no loop de mostrar a fila , e a variável fim se daria melhor nessa situação ,  e usar locale.h para acentuações não costuma funcionar bem em outros pc que não seja o seu , então melhor não usa-la , e também nomes das variáveis não pode ter acentos , e seu código modificado poderia ser assim  :
    #define _CRT_SECURE_NO_WARNINGS // para usar scanf e outras funções no VisuaL Studio #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <locale.h> #include <string.h> //Constante que define o tamanho máximo da estrutura de dados #define tamanho 5 //Declaração do tipo_fila: estrutura de dados struct tinformacoes { char ra_aluno[10]; char arq[10]; char ext_arq[10]; char matri_prof[10]; }; struct tfila { struct tinformacoes dados[tamanho]; int ini; int fim; }; //Variaveis globais struct tfila fila; struct tinformacoes informações; int op; //Prototipação void fila_entrar(); void fila_sair(); void fila_mostrar(); void menu_mostrar(); void esvaziar_fila(); int main() { setlocale(LC_ALL, "portuguese"); op = 1; char c; fila.ini = 0; fila.fim = 0; fila_mostrar(); while (op != 0) { system("cls"); menu_mostrar(); op = _getch() - 48; // não precisa pressionar ENTER printf(" %d\n", op); system("cls"); switch (op) { case 0: printf("\n\n\n\t\tSaindo Do Pro gRamah . . . !\n\n\n"); break; case 1: fila_entrar(); break; case 2: fila_sair(); break; case 3: esvaziar_fila(); break; case 4: fila_mostrar(); break; default: printf("=== OPCAO INVALIDA . . . ! ===\n"); system("pause"); } } return(0); } //Adicionar um elemento no final da Fila void fila_entrar() { char c; printf("\n"); if (fila.fim == tamanho) { printf("\nA fila esta cheia!\n\n"); system("pause"); } else { printf("Digite o RA do aluno -------------: "); scanf("%s", &fila.dados[fila.fim].ra_aluno); while (c = fgetc(stdin) != '\n'); // limpar o buffer do teclado printf("Digite o nome do arquivo ---------: "); scanf("%s", &fila.dados[fila.fim].arq); while (c = fgetc(stdin) != '\n'); // limpar o buffer do teclado printf("Digite a extencao do arquivo -----: "); scanf("%s", &fila.dados[fila.fim].ext_arq); while (c = fgetc(stdin) != '\n'); // limpar o buffer do teclado printf("Digite a matricula do professor --: "); scanf("%s", &fila.dados[fila.fim].matri_prof); while (c = fgetc(stdin) != '\n'); // limpar o buffer do teclado fila.fim++; } } void fila_sair() { if (fila.ini == fila.fim) { printf("\nA fila esta vazia!\n\n"); system("pause"); } else { int i; for (i = 0; i < tamanho; i++) { fila.dados[i] = fila.dados[i + 1]; } fila.fim--; } } void esvaziar_fila() { if (fila.fim == fila.ini) { printf("\nA fila esta vazia!\n\n"); system("pause"); } else { fila.fim = fila.ini; // isso resolve } } void fila_mostrar() { int i; printf("\n"); if (!fila.fim) printf("Nao Tem nada Arm AzenadO Aqui . . . !\n"); for (i = 0; i < fila.fim; i++) { printf("RA do aluno ------------: %s \n", fila.dados[i].ra_aluno ); printf("Nome do arquivo --------: %s \n", fila.dados[i].arq ); printf("Ext. Arquivo -----------: %s \n", fila.dados[i].ext_arq ); printf("Matricula do professor -: %s \n", fila.dados[i].matri_prof); printf("-------------------------------------------------------\n"); } printf("\t\tTecle . . . !\n"); _getch(); printf("\n\n"); } void menu_mostrar() { printf("======== SISTEMA ACADEMICO ========\n\n"); printf("0 - Encerrar o programa\n" ); printf("1 - Inserir um elemento na fila\n" ); printf("2 - Remover um elemento da fila\n" ); printf("3 - Esvaziar a fila\n" ); printf("4 - mostrar fila\n\n" ); printf("Escolha uma opcao " ); }  
  21. O post de devair1010 em Dificuldade em completar exercício em C foi marcado como solução   
    @AnderJack     você colocou a variável tamanho no loop de mostrar a fila , e a variável fim se daria melhor nessa situação ,  e usar locale.h para acentuações não costuma funcionar bem em outros pc que não seja o seu , então melhor não usa-la , e também nomes das variáveis não pode ter acentos , e seu código modificado poderia ser assim  :
    #define _CRT_SECURE_NO_WARNINGS // para usar scanf e outras funções no VisuaL Studio #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <locale.h> #include <string.h> //Constante que define o tamanho máximo da estrutura de dados #define tamanho 5 //Declaração do tipo_fila: estrutura de dados struct tinformacoes { char ra_aluno[10]; char arq[10]; char ext_arq[10]; char matri_prof[10]; }; struct tfila { struct tinformacoes dados[tamanho]; int ini; int fim; }; //Variaveis globais struct tfila fila; struct tinformacoes informações; int op; //Prototipação void fila_entrar(); void fila_sair(); void fila_mostrar(); void menu_mostrar(); void esvaziar_fila(); int main() { setlocale(LC_ALL, "portuguese"); op = 1; char c; fila.ini = 0; fila.fim = 0; fila_mostrar(); while (op != 0) { system("cls"); menu_mostrar(); op = _getch() - 48; // não precisa pressionar ENTER printf(" %d\n", op); system("cls"); switch (op) { case 0: printf("\n\n\n\t\tSaindo Do Pro gRamah . . . !\n\n\n"); break; case 1: fila_entrar(); break; case 2: fila_sair(); break; case 3: esvaziar_fila(); break; case 4: fila_mostrar(); break; default: printf("=== OPCAO INVALIDA . . . ! ===\n"); system("pause"); } } return(0); } //Adicionar um elemento no final da Fila void fila_entrar() { char c; printf("\n"); if (fila.fim == tamanho) { printf("\nA fila esta cheia!\n\n"); system("pause"); } else { printf("Digite o RA do aluno -------------: "); scanf("%s", &fila.dados[fila.fim].ra_aluno); while (c = fgetc(stdin) != '\n'); // limpar o buffer do teclado printf("Digite o nome do arquivo ---------: "); scanf("%s", &fila.dados[fila.fim].arq); while (c = fgetc(stdin) != '\n'); // limpar o buffer do teclado printf("Digite a extencao do arquivo -----: "); scanf("%s", &fila.dados[fila.fim].ext_arq); while (c = fgetc(stdin) != '\n'); // limpar o buffer do teclado printf("Digite a matricula do professor --: "); scanf("%s", &fila.dados[fila.fim].matri_prof); while (c = fgetc(stdin) != '\n'); // limpar o buffer do teclado fila.fim++; } } void fila_sair() { if (fila.ini == fila.fim) { printf("\nA fila esta vazia!\n\n"); system("pause"); } else { int i; for (i = 0; i < tamanho; i++) { fila.dados[i] = fila.dados[i + 1]; } fila.fim--; } } void esvaziar_fila() { if (fila.fim == fila.ini) { printf("\nA fila esta vazia!\n\n"); system("pause"); } else { fila.fim = fila.ini; // isso resolve } } void fila_mostrar() { int i; printf("\n"); if (!fila.fim) printf("Nao Tem nada Arm AzenadO Aqui . . . !\n"); for (i = 0; i < fila.fim; i++) { printf("RA do aluno ------------: %s \n", fila.dados[i].ra_aluno ); printf("Nome do arquivo --------: %s \n", fila.dados[i].arq ); printf("Ext. Arquivo -----------: %s \n", fila.dados[i].ext_arq ); printf("Matricula do professor -: %s \n", fila.dados[i].matri_prof); printf("-------------------------------------------------------\n"); } printf("\t\tTecle . . . !\n"); _getch(); printf("\n\n"); } void menu_mostrar() { printf("======== SISTEMA ACADEMICO ========\n\n"); printf("0 - Encerrar o programa\n" ); printf("1 - Inserir um elemento na fila\n" ); printf("2 - Remover um elemento da fila\n" ); printf("3 - Esvaziar a fila\n" ); printf("4 - mostrar fila\n\n" ); printf("Escolha uma opcao " ); }  
  22. O post de devair1010 em Não consigo terminar por falta de conhecimento em linguagem C foi marcado como solução   
    @Endrigo Dias    na linguagem  c não se pode colocar acentuação nas palavras de nomes de variáveis ,  e para armazenar os votos você precisa de um vetor onde armazenar  cada voto , 
    #define _CRT_SECURE_NO_WARNINGS // para usar scanf e outras funções no visual studio #include <stdio.h> #include <stdlib.h> // erro de syntaxes atenção na digitação #include <locale.h> int votar(int *voto); int main() { //setlocale(LC_ALL, "portuguese"); não use só problemas int menu = 0, votos[1000] = { 0 }, // inicializa o vetor com todos os elementos valendo zero v1, v2, v3, v4, p1, p2, p3, vv, vp; do { // o menu fica bem se colocado aqui dentro do do / while printf(" 1 - votar\n"); printf(" 2 - apuracao de votos\n"); printf(" 3 - Sair do programa\n" ); printf(" Informe a opção : " ); scanf("%d", & menu ); switch (menu) { case 1: //opção("Votar"); // aqui precisa ir para a função votar e onde ela está ? votar(votos); break; case 2: // use aquele contador , o valor que esta na posição 999 do vetor votos /* opção("Apurar"); break; case 3: opção:("Sair"); não pode ter acentuação */ break; case 3 : printf("Saindo Do Programa . . . !\n"); break; default: printf("Opcao InvAlida !\n"); } } while (menu != 3); // erro de sintcses atenção na Digitação minusculas sao diferentes de maiusculas return 0; } int votar(int voto[1000]) { char op = 's',c; int cont = voto[999]; // hum contador int num; do { printf(" 111 222 333 444\n"); printf("numero para votar para vereador "); do { scanf("%d", &num); } while (num != 111 && num != 222 && num != 333 && num != 444); voto[cont] = num; cont++; // outro desse para os votos para prefeito printf("outro voto S/N "); while (c = fgetc(stdin) != '\n'); // limpar o buffer do teclado scanf("%c", &op); printf("op = %c\n", op); while (c = fgetc(stdin) != '\n'); // limpar o buffer do teclado } while (op != 'n'); voto[999] = cont; return 0; }  
  23. O post de devair1010 em CRUD em C - Argumento inválido foi marcado como solução   
    @Pedro Torres D   essa parte aqui
    if (strcmp(produtoTemporario.codigoProduto, codigoProduto) == 0) { strcpy(produtoTemporario.precoProduto, precoProduto); encontrado = 1; } poderia ser assim : if (strcmp(produtoTemporario.codigoProduto, codigoProduto) == 0) { produtoTemporario.precoProduto = precoProduto; // adição de número encontrado = 1; }  
  24. O post de devair1010 em questão de programação em c . foi marcado como solução   
    @Caio Fagundes21    você colocou valores fixos na Hora da divisão , aqui
    scanf("%f%f", &salariom, &salario); // pegou os valores aqui salariom = 800; // descartou aqueles valores e alterou para esse fixo precisa dividir pelo valor que você pegou no scanf , e seu código poderia ser assim :
    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <windows.h> void textcolor(int , int); int main() { int letra_antes, fundo_antes, cor; HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);// in CONSOLE_SCREEN_BUFFER_INFO c; // pega informações do sistema if (GetConsoleScreenBufferInfo(h, &c)) { cor = (c.wAttributes & 0xFF); letra_antes = (c.wAttributes & 0xFF) & 0x0F; fundo_antes = ((c.wAttributes & 0xFF) >> 4) & 0x0F; } float salariom, salario, x; textcolor(14, 0); printf("QuaL O sAlario Minimo AtuaL ----: "); textcolor(11, 0); scanf("%f", & salariom); textcolor(14, 0); printf("QuaL o saLaRio do funcionário -: "); textcolor(11, 0); scanf("%f", & salario); x = salario / salariom; textcolor(12, 10); printf("\n O salArio do funcionArio equivale a "); textcolor(15, 12); printf(" %.2f ", x); textcolor(12, 10); printf(" salArios mInimos. \n\n"); printf("\n"); textcolor(letra_antes, fundo_antes); return 0; } void textcolor(int letras, int fundo) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), letras + (fundo << 4)); }  
  25. O post de devair1010 em Contagem inteligente de um número foi marcado como solução   
    @Felipe_Fernandes   sim , o VisualG 3.0 não sabe explicar o que aconteceu , mas ele sabe que tem hum erro ali naquela linha  ,  aí o usuário é que precisa observar o que está errado , e nesse caso é porque você colocou parênteses que nem precisa perder tempo com eles , junto a palavra enquanto , e precisa deixar um espaço em branco entre as palavras , além do que o @Simon Viegas  já disse sobre os companheiros de cada comando , assim o "enquanto" vai bem com o "faca" e o "fimenquanto" , e o "se" vai bem o "entao" e o "fimse" ,  se Quiser / puder , veja sobre esses e outros comando nesse site 
    http://www.inf.ufsc.br/~bosco.sobral/ensino/ine5201/Visualg2_manual.pdf
    assim no seu primeiro código depois de ajeitar ele para compilar e rodar você verá que ele vai ficar em um Loop etheRnO 
    Algoritmo "Contagem Inteligente" // Autor(a) : Felipe Fernandes dos Santos Nunes // Data atual : 26/05/2021 Var S, cont1,cont : inteiro Inicio S <- 1 cont <- 0 enquanto S >= 0 faca //inicio do laço enquanto precisa um espaço em branco entre as palavras escreval("Informe o valor do numero: ") leia(cont1) se cont1 <= 0 entao //estrutura lógica se dentro do enquanto S <- cont1 + 1 senao S <- cont1 - 1 fimse escreval("val s= ",s)// aqui só para ver A SaiDa fimenquanto // você tem aqui um Loop ethernO // pois do jeito que está nunquinha // que vai sair desse Loop escreval("A contagem inteligente é: ", S)// layout para o usuário // e nunca vai chegar nessa Linha Fimalgoritmo e o erro permaneceu no segundo código , mas esse vai funcionar bem 
    Algoritmo "contagem inteligente_2" Var S, cont1,cont: inteiro Inicio S <- 1 cont1 <- 0 // não precisa perder Tempo digitando esses parenteses // enquanto( cont1 <= 5 ) faca veja que esta tudo junto , não pode ! enquanto cont1 <= 5 faca //inicio do laço enquanto escreval("Informe o valor do numero: ") leia(cont1) se (cont1 <= 0) entao //estrutura lógica se dentro do enquanto S <- cont1 + 1 senao S <- cont1 - 1 fimse escreval("val s= ",s) // apenas para ver a saíDa escreval("val cont1= ",cont1)// apenas para ver a saíDa fimenquanto // fimenquanto para quê essa informação ??? ! escreval("A contagem inteligente é: ", S)// layout para o usuário Fimalgoritmo  

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

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!