Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''C ''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. Olá pessoal. Não estou conseguindo resolver um problema em C, vocês podem me dar uma luz? Ficarei muito grato. Segue abaixo o enunciado. Faça um programa em C que leia dois valores inteiros, l e c, representando respectivamente a quantidade de linha e colunas de uma matriz. Leia os lxc valores reais e armazene nessa matriz. A leitura deverá ser feita dentro da função “void leMatriz (float matriz[][max], int l, int c)”. Em seguida, desenvolva a função “void imprimeMatriz (float matriz[][max], int l, int c)”, que deverá imprimir a matriz lida na ordem inversa da leitura. Observações: Seu programa deverá cuidar para que não sejam aceitos valores menores que 1 e maiores que 50 para a quantidade de linhas e de colunas. Defina max igual a 50. A saída deverá ser dada com apenas 1 casa decimal. Exemplos de Casos de Testes: case=Teste1 input= 3 4 1 2 3 4 5 6 7 8 9 10 11 12 output= 12.0 11.0 10.0 9.0 8.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 case=Teste2 input= 3 3 3 3.1 3.2 4 4.1 4.2 5 5.1 5.2 output= 5.2 5.1 5.0 4.2 4.1 4.0 3.2 3.1 3.0
  2. Oi, estou com um problema no seguinte código: #include <stdio.h> #include <string.h> int main() { char palavrasecreta[20]; sprintf(palavrasecreta, "MELANCIA"); int acertou = 0; int enforcou = 0; char chute; printf("tente chutar alguma letra!"); scanf(" %c", &chute); do { for(int i = 0; i < strlen(palavrasecreta); i++); { if(palavrasecreta[i] == chute); { printf("Na posicao %d tem essa letra", i); } } printf("\n"); } while(!acertou && !enforcou); } Quando eu tento compilar para rodar o programa, eu recebo esse erro: In function 'main': 19 22 [Error] 'i' undeclared (first use in this function) 19 22 [Note] each undeclared identifier is reported only once for each function it appears in (A linha 19 se refere ao if que está dentro do for) o compilador diz que a variável i não foi declarada, mas eu já tinha declarado ela no for. Eu tentei declarar antes, acima do for e até mesmo acima do dowhile, o compilador executa mas não faz o que eu desejo, ele dá os mesmos resultados. O objetivo do código é criar um jogo da forca(nn tá concluído), até agora eu tentei fazer para que o programa identifique se a letra que o usuário enviou tem na palavra secreta, quando eu executo e envio uma letra ele sempre dá a mesma resposta "Na posicão 8 tem essa letra" mesmo se não tiver. Se alguém puder me ajudar eu fico agradecido
  3. Boa tarde,Queria um auxilio em uma questão que necessita ser resolvida com recursividade. ou seja ser resolvida com uma função que se repete sendo chamada quantas vezes for necessário: Então minha duvida é: Escreva uma função recursiva que recebe um número inteiro e retorne a soma dos seus dígitos. Exemplo= N = 45. Saída deverá ser 9. Eu consigo resolver mas não recursivamente e isso que esta me atrapalhando! Quem conseguir me ajudar eu pago um pastel ou coxinha no final da quarentena
  4. Olá pessoal estou com um problema, tenho que calcular o seguinte programa: dado um inteiro calcule o menor primo maior que "a" , fiz u programa mas ele só mostra se o número é primo ou não. #include<stdio.h> #include <locale.h> int main() { setlocale(LC_ALL, ""); int num, i, resultado = 0; printf("Digite um número: "); scanf("%d", &num); for (i = 2; i <= num / 2; i++) { if (num % i == 0) { resultado++; break; } } if (resultado == 0) printf("%d é um número primo\n", num); else printf("%d não é um número primo\n", num); return 0; }
  5. https://imgur.com/a/WnIVIFg São 5 questões mas para fazer em um único código! me ajudem, por favor !!!
  6. Tenho essa lista em um arquivo text: 1 1 6 5 10 4 2 2 4 8 5 8 3 3 2 1 23 10 4 4 6 9 14 5 5 5 5 3 15 6 6 6 6 1 16 11 7 7 4 0 18 11 e tenho que ler ela (o que já fiz) mas não sei trabalhar com os resultados tipo a ordem dos numeros na horizontal é semana dia hora carros motos e caminhoes, que passam no pedagio. Dai preciso exibir por exemplo: Domingo ------- N�mero m�dio de ve�culos: 617,400 N�mero m�dio de carros: 222,000 N�mero m�dio de motos: 233,600 N�mero m�dio de camih�es: 161,800 Rendimento m�dio por semana: R$ 3312,00 o que eu tenho do programa: #include <stdio.h> #include <stdlib.h> int main() { int Semana,dia,hora,carros,motos,caminhoes; FILE *arquivo = fopen("Lista.txt","r"); if(arquivo != NULL) { while (!feof(arquivo)) { fscanf(arquivo,"%d %d %d %d %d %d\n",&Semana,&dia,&hora,&carros,&motos,&caminhoes); } while (arquivo != EOF) { fscanf(arquivo,"%d %d %d %d %d %d\n",&Semana,&dia,&hora,&carros,&motos,&caminhoes); printf("Semana : %d\n",Semana); printf("Dia : %d\n",dia); printf("Hora : %d\n",hora); printf("Carros : %d\n",carros); printf("Motos : %d\n",motos); printf("Caminhoes : %d\n",caminhoes); } //Somando os valores do vetor int soma = 0; int x= 0; for (x=0;x<7;x++) { mveiculos = (soma + Semana[x])/7; } printf("media carros: : %d\n",mveiculos); } fclose(arquivo); } Agradeco desde já...
  7. Vou colocar uma parte do programa, a parte que estou em duvida mas tem mais código pra cima e pra baixo do que vou mostrar. O que acontece é que eu não consigo fazer esse do-while funcionar, já tentei usar tanto o %c quanto o %s no scanf. já tentei usar aspas simples tanto na declaração do char, quanto la dentro da condição do while, tentei varias combinações envolvendo, %c %s ' ' e " ". Eu sei que o certo é usar a aspas simples e o %c porem tentei isso tudo porque não tava dando certo. Quando chega la no scanf do while, ele le a variavel cont mas depois finaliza o programa, nem chega a executar os comandos abaixo dele. obs: já tentei com a biblioteca string.h inserida e não deu, tirei ela a toa mesmo. Código completo: #include <stdio.h> #include <stdlib.h> struct tiposDeVoto{ int nulos; int brancos; int c[4]; }tDV={0,0,{0,0,0,0}}; struct porcVotos{ float nulos; float brancos; float c[4]; }pV={0.0,0.0,{0.0,0.0,0.0,0.0}}; int main(){ /*Em uma eleição para governador concorrem 4 candidatos (1, 2, 3 e 4). No dia da eleição cada um dos N eleitores votaram: • 1, 2, 3 ou 4 para cada candidato. • 0 (zero) para voto em branco. • -1 para voto nulo. Considere que: • O candidato ganha a eleição se fizer 51% ou mais do total de votos. • Se não houver ganhador, os dois melhores irão para o segundo turno. Faça um programa em C que calcule e imprima: • O candidato vencedor (se houver), seguido da porcentagem de votos obtida. Se não houver vencedor, imprima os candidatos que irão ao segundo turno com a respectiva porcentagem de votos obtida. • A porcentagem obtida pelos demais candidatos. • A porcentagem de votos em branco e nulos.*/ tentenovamente: printf("----------------------------\n"); printf(" Urna eleitoral "); printf("\n 1- Tiago\n 2- Pedro\n 3- Alvaro\n 4- Chaves\n 0- Voto em branco\n -1- Voto nulo\n"); printf("------------------------------\n"); int voto=0,i=0; char cont="a"; do{ printf("Digite o voto: "); scanf("%i",&voto); switch (voto){ case 1: tDV.c[0]+=1; break; case 2: tDV.c[1]+=1; break; case 3: tDV.c[2]+=1; break; case 4: tDV.c[3]+=1; break; case -1: tDV.nulos+=1; break; case 0: tDV.brancos+=1; break; default: printf("Escolha invalida!\nTente novamente!\n"); goto tentenovamente; } i++; printf("Quer continuar? [S/N]"); scanf("%s",&cont); } while (cont=="S"); int totalDeVotos=i+1; pV.brancos=tDV.brancos/totalDeVotos; pV.nulos=tDV.nulos/totalDeVotos; for (int k=0;k<4;k++) pV.c[k]=(float)tDV.c[k]/totalDeVotos; int vencedor=0; printf("pv.c[0]: %.2f\n",pV.c[0]); if(pV.c[0]>0.51 && pV.c[0]>pV.c[1] && pV.c[0]>pV.c[2] && pV.c[0]>pV.c[3]){ vencedor=1; printf("Tiago e o vencedor da eleicao com %0.2f %% dos votos",(pV.c[0]*100)); } if(pV.c[1]>0.51 && pV.c[1]>pV.c[0] && pV.c[1]>pV.c[2] && pV.c[1]>pV.c[3]){ vencedor=1; printf("Pedro e o vencedor da eleicao com %0.2f %% dos votos",(pV.c[1]*100)); } if(pV.c[2]>0.51 && pV.c[2]>pV.c[0] && pV.c[2]>pV.c[1] && pV.c[2]>pV.c[3]){ vencedor=1; printf("Alvaro e o vencedor da eleicao com %0.2f %% dos votos",(pV.c[2]*100)); } if(pV.c[3]>0.51 && pV.c[3]>pV.c[0] && pV.c[3]>pV.c[2] && pV.c[3]>pV.c[1]){ vencedor=1; printf("Chaves e o vencedor da eleicao com %0.2f %% dos votos",(pV.c[3]*100)); } /*if (vencedor==0){ printf("vencedor=0"); }*/ return 0; }
  8. Oi, estou fazendo uma lista de exercícios em C, e alguns estão um tanto quanto complicado para mim que sou iniciante. Minha dúvida principal esta nesses 2 exercicios: Faça um programa em C que leia uma matriz 3X5, imprima essa matriz e mostre o seu maior elemento, bem como a linha e a coluna em que esse elemento se encontra. Escreva um programa que leia uma matriz 5 x 5 e um número inteiro n que represente uma linha da matriz (n deve ser <5) . Calcule e escreva a média dos elementos da n-ésima linha (ou seja, da linha escolhida e armazenada em n) .
  9. Boa noite a todos. Alguém pode me passar um algoritmo que simule a pausa feita pela função sleep().É para um projeto que estou trabalhando. Estou precisando dar esta pausa para que o usuário possa ver um dos resultados retornados pelo programa. Estou usando xcode 11.4.1. Desde já agradeço!
  10. Olá, recentemente comecei a fazer o curso CS50, de introdução à ciência da computação para ocupar esse período vago de quarentena. Já na segunda semana do curso, começamos a ver a linguagem de programação C, com a qual nunca tinha trabalhado, e, durante a resolução de um exercício surgiu um problema que me atormenta nos últimos três dias, apesar de sua simplicidade. Meu objetivo com o código é fazer uma "escada" com os "jogos da velha", indo de 1 até 8 caracteres de altura, formando imagens como a da imagem de fundo branco. Mas infelizmente só consigo obter o output da imagem de fundo preto. #include <cs50.h> /* biblioteca da cs50 */ #include <stdio.h> int main(void) { int n; /*obtém a altura desejada*/ do { n = get_int("Height: "); } while (n < 1 || n > 8); for (int i = 1; i <= n; i++) /*loop para gerar nova linha*/ { for (int f = n - 1; f > 0; f -= 1) /*loop para os pontos [há problema na execução]*/ { printf("."); } for (int j = 0; j < i; j++) /*loop para os jogos da velha*/ { printf("#"); } printf("\n"); } } No código estou usando a library da cs50, que pode ser obtida neste link https://github.com/cs50/libcs50/releases/tag/v10.1.0 Sinto muito se estou cometendo erros grotescos ou se meus comentários no código são desnecessários, estou apenas começando . Obrigado pela atenção😀
  11. Boa noite, pessoal. Bom, tenho um código que atualiza os valores de uma matriz 2D 151 x 383, 6000 vezes. E preciso salvar cada uma delas numa matriz separada. Então a dimensão dessa matriz será 121x383x6000. Seria algo como: for (n=0;n<6000;n++){ for(i=0;i<151;i++){ for (k=0;k<383;k++){ P2 = 'calculos'; P3[n] = P2; }}} A dúvida é como construir a matriz P3 e como fazer a indexação dela no lugar dos colchetes... Grato!
  12. Meu professor me pediu para fazer esse exercicio de passar numeros inteiros para extenso mas não faço ideia de como o fazer... Ajudem me pfv!!
  13. Bom dia galera! Seguinte estou com uma duvida bem básica acredito eu em questão de um exercício que estou tentando resolver. Consegui desenvolver o código tranquilo compila sem erro nenhum, mas quando eu peço as entradas ao usuário, a primeira executa legal, o usuário escreve a entrada e quando o enter e apertado a próxima entrada que deveria pedir ao usuário executa mas não deixa o usuário entrar com a informação finalizando o código. Já tentei mudar de programa pra vê se era problema com o compilador, mas o mesmo erro acontece, lembrando que ate com códigos pegos na internet acontece isso. Para melhor compreensão segue a questão código e o print do problema. 1 . Uma certa empresa fez uma pesquisa de mercado para saber se as pessoas gostaram ou não do seu último produto lançado. Para isto, coletou o sexo do entrevistado e a sua resposta (simou não). Sabendo que foram entrevistadas 150 pessoas, fazer um algoritmo que calcule e mostre ao final:•O número de pessoas que responderam sim;•O número de pessoas que responderam não;•A percentagem de pessoas do sexo feminino que responderam sim;•A percentagem de pessoas do sexo masculino que responderam não;Para a resposta SIM/NÃO. Utilize uma variável do tipo CHAR, que armazena S ou N, ou use uma variável do tipo INT que armazena 1 (para SIM) e 2 (para NÃO). // declaração de bibliotecas #include <stdio.h> #include <locale.h> #include <stdlib.h> #pragma warning #pragma warning(disable: 4996); //declaração das variaveis globais char sex, resp; // variaveis de escolha de sexo e resposta (s para sim e n para não int x, counter_resps = 0, counter_respn = 0 ,counter_sexm = 0, add1 = 0 , add2 = 0 , add3 = 0 , add4 = 0;//um_1 = 0, sum_2 = 0; float m_percent, f_percent; // int main () { setlocale(LC_ALL, "Portuguese"); for (x = 3; x <= 3; x++) { printf("\nVoce gostou do nosso pruduto ? (s = sim / n = não ): "); scanf("%c", &resp); printf("\n Seu sexo ? (f= feminino / m = masculino ): "); scanf("%c", &sex); if (sex == 'f') { add1++; } else { counter_sexm++; if (sex == 'm') add2++; } if (resp == 's') { counter_resps++; add4++; if (resp == 'n'){ counter_respn++; add3++; } } } m_percent + (float)(add1 * 100) / (add1 + add2); f_percent + (float)(add2 * 100) / (add1 + add2); printf("\nO numero de pessoas que responderam não e %d\n", counter_respn); printf("\nO numero de pessoas que responderam sim e %d\n", counter_resps); printf("\nA porcentagem de pessoas do sexo feminino que responderam sim e %f\n", m_percent); printf("\nA porcentagem de pessoas do sexo masculino que responderam não e %f\n", f_percent); return 0; }
  14. Pessoal, estou com dificuldades para fazer um exercício do livro do Deitel, eis o qual eu fiz: Esse eu fiz beleza.. fácil. Mas depois ele pede para imprimir um quadrado vazado, este não sei se fiz da melhor forma. Gostaria de saber se existe alguma forma melhor e mais 'inteligente' de se fazer, ficou muito confuso os 'for': #include <stdio.h> #include <stdlib.h> int main() { int numero, i,x,y,aux; printf("Programa imprime quadrado \n\n\n"); printf("Digite o tamanho do quadrado: "); scanf("%d", &numero); aux=numero-2; printf("\n\n\n\n"); for (x=0;x<numero;x++) printf("*"); for (i=0;i<aux;i++){ printf("\n*"); for(x=0; x<aux;x++) printf(" "); for(x=0; x<1;x++) printf("*"); } printf("\n"); for (x=0;x<numero;x++) printf("*"); return 0; }
  15. Boa noite, Alguém poderia me ajudar na logica da programação, estou fazendo um programa para identificar se o numero sera positivo e negativo , par ou impar. quando o numero e digitado negativo,a condição só exibe a informação "numero negativo e par" e não o motivo. SEGUE O PROGRAMA: #include <stdio.h> #include <stdlib.h> int main() { int num1,condicao; printf("Digite um numero :"); scanf("%d",&num1); condicao = num1 % 2; printf("%d", condicao); if (condicao == 0 && num1 > 0) { printf("Numero positivo e par"); } else if (condicao =! 0 && num1 >0) { printf("Numero positivo e impar"); } else if ( condicao == 0 && num1 < 0 ) { printf("Numero negativo e par"); } else if ( condicao =! 0 && num1 < 0 ) { printf("Numero negativo e impar"); } }
  16. Bom dia pessoal. Estou com um problema na hora da execução de um programa simples que fiz durante meu estudo sobre "structs". Simplesmente o programa não faz a leitura correta das letras que possuem acento. #include<stdio.h> #include<stdlib.h> #include<locale.h> main() { setlocale(LC_ALL,"portuguese"); struct dados { char name[40], disciplina[30]; float nota1, nota2; } aluno; printf("\n\t\t\t\t------------ Cadastro de Aluno ------------\n"); printf("\nInsira seu nome....: "); fflush(stdin); fgets(aluno.name, 40, stdin); printf("\n\nDisciplina.........: "); fflush(stdin); fgets(aluno.disciplina, 30, stdin); printf("\n\nInsira a 1° nota...: "); scanf("%f",&aluno.nota1); printf("\n\nInsira a 2° nota...: "); scanf("%f",&aluno.nota2); printf("\n\n"); printf("\n\t\t\t\t------------ Lendo dados inseridos ------------\n"); printf("\nNome...........: %s\n", aluno.name); printf("Disciplina.....: %s\n", aluno.disciplina); printf("Nota 1.........: %.2f\n", aluno.nota1); printf("Nota 2.........: %.2f\n", aluno.nota2); return 0; }
  17. Boa tarde! Estou trabalhando neste projeto e esse erro tem me tirado o sono. O projeto é um cadastro de petshop. E o erro parece estar associado a função limparBuffer(), mas sinceramente não sei como tirar esse bug. Estou usando xcode 11.2.1. Vou postar o código. // //main.c #include <stdio.h> #include <stdlib.h> #include "limpaBuf.h" #include "messages.h" #include "animal.h" #include "menu.h" int main(int argc, const char * argv[]) { Animal *cadastro; char escolha = '0'; cadastro = malloc(sizeof(Animal)); do { escolha = menu(); switch (escolha) { case '1': cadastro = cadastroGeral(); break; case '2': procurarAnimal(cadastro); break; default: break; } } while (escolha != '3'); return 0; } // // menu.c #include <stdio.h> #include <stdlib.h> #include "menu.h" #include "limpaBuf.h" char menu(void){ char escolha; system("clear"); printf("Cadastro de Animais\n\n\n"); printf("[1] -- Cadastrar\n"); printf("[2] -- Encontrar\n"); printf("[3] -- Sair\n"); printf("\n\n\n\n?: "); escolha = getchar(); limparBuffer(); return escolha; } #include <stdio.h> #include <stdlib.h> #include <string.h> #include "animal.h" #include "limpaBuf.h" #include "messages.h" Animal* cadastrarAnimal(void){ Animal* animal; system("clear"); printf("Cadastro de Animal\n\n\n"); animal = malloc(sizeof(Animal)); printf("Nome: "); fgets(animal->nome, sizeof(animal->nome), stdin); printf("Dono: "); fgets(animal->dono, sizeof(animal->dono), stdin); printf("Idade: "); scanf("%d", &animal->idade); limparBuffer(); printf("Raca: "); fgets(animal->raca, sizeof(animal->raca), stdin); animal->internado = false; animal->vacinado = false; return animal; } Animal* cadastroGeral(void){ Animal* animal; char escolha = 's'; int posicao_ponteiro = 0; animal = malloc(sizeof(Animal)); while (escolha == 's' || escolha == 'S') { if (posicao_ponteiro == 0) { animal = malloc(sizeof(Animal)); animal = cadastrarAnimal(); }else{ animal = realloc(animal, posicao_ponteiro * sizeof(Animal)); animal += posicao_ponteiro; animal = cadastrarAnimal(); } showMessage("Cadastro realizado com sucesso!"); printf("\n\nCadastrar outro? "); escolha = getchar(); limparBuffer(); if (escolha == 's' || escolha == 'S') { posicao_ponteiro++; } } return animal; } void procurarAnimal(Animal* cadastro){ char nome_animal[42]; int posicao_ponteiro = 0; int encontrado = 0; system("clear"); printf("Busca de Animal\n\n"); printf("Nome Animal: "); fgets(nome_animal, sizeof(nome_animal), stdin); system("clear"); while(cadastro) { if (strcmp(cadastro->nome, nome_animal) == 0) { encontrado = 1; break; }else{ posicao_ponteiro++; } cadastro += posicao_ponteiro; } if (encontrado == 1) { printf("Animal encontrado\n\n"); printf("Nome: %s\n", cadastro->nome); printf("Raça: %s\n", cadastro->raca); printf("Dono: %s\n", cadastro->dono); printf("Idade: %d\n", cadastro->idade); if (cadastro->vacinado == true) { printf("Vacinado: sim\n"); }else{ printf("Vacinado: não\n"); } if (cadastro->internado == true) { printf("Interno: sim\n"); }else{ printf("Interno: não\n"); } }else{ showMessage("Animal não cadastrado!"); } } // // messages.c #include <stdio.h> #include <stdlib.h> void showMessage(const char* msg){ int contador; system("clear"); for (contador = 1; contador <= 80; contador++) { printf("-"); if (contador == 80) { printf("\n"); } } printf("-"); for (contador = 1; contador <= 78; contador++) { printf(" "); } printf("-\n"); printf("-"); for (contador = 1; contador <= 78; contador++) { printf(" "); } printf("-\n"); printf("-"); for (contador = 1; contador < 25; contador++) { printf(" "); } printf("%s", msg); for (contador = 1; contador < 24; contador++) { printf(" "); } printf("-\n"); for (contador = 1; contador <= 78; contador++) { printf(" "); } printf("-\n"); printf("-"); for (contador = 1; contador <= 78; contador++) { printf(" "); } printf("-\n"); for (contador = 1; contador <= 80; contador++) { printf("-"); if (contador == 80) { printf("\n"); } } } // // limpaBuf.h #include <stdio.h> #ifndef limpaBuf_h #define limpaBuf_h void limparBuffer(){ char c; while ((c = getchar()) != '\n' && c != EOF) { } } #endif /* limpaBuf_h */
  18. Galera, estou fazendo um programa de manipulação de vetores, e me deparei com esse problema: eu entro com os valores do vetor, mas quando peço para exibi-los, o programa exibe alguns valores errados, que sempre mudam cada vez que eu executo. Acredito que seja um problema de memória que precisa ser limpa, queria saber como fazer isso em C. #include <stdio.h> #include <stdlib.h> int funcao(int v[10]){ int i, maior, menor, j, prim, ult; int *vet = malloc(10*sizeof(&v)); float m=0; //Cálculo da média: for(i = 0; i < 10; i++) m = m + v[i]; printf("\nMedia: %.2f", m/10); //Posição do maior: for(i = 0; i < 10; i++){ maior = v[i]; for(j = 0; j < 10; j++){ if (v[j] > maior) maior = v[j]; }} printf("\nO maior elemento é: %d.\nO endereço de memória é: %d.\n", maior, &maior); //Posição do menor: for(i = 0; i < 10; i++){ menor = v[i]; for(j = 0; j < 10; j++){ if (v[j] < menor) menor = v[j]; }} printf("\nO menor elemento é: %d.\nO endereço de memória é: %d.\n", menor, &menor); //Endereços da primeira e última posição: for(i = 0; i < 10; i++){ if (i == 0) prim = v[i]; if (i == 9) ult = v[i]; } printf("\nO endereço da primeira posição do vetor é %d e do último é %d\n", &prim, &ult); free(v); return *vet; } int main(){ int i, v[10], m = 0; for(i = 0; i < 10; i++){ scanf("%d", &v[i]); m = m + v[i]; if (v[i] > (m/10)) v[i] = v[i] - (m/10); } for(i = 0; i < 10; i++) printf("%d ", v[i]); funcao(v); return 0; } Abaixo segue um print do programa sendo executado. Alguém sabe como contornar o problema?
  19. Problema foi resolvido, vou deixar o código como ficou abaixo! Segue o código #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <conio.h> void entrada (){ printf ("*************************************\n"); printf ("**** Bem Vindo ****\n"); printf ("**** a ****\n"); printf ("**** UNIPIZZA ****\n"); printf ("*************************************\n"); } int menu (){ int op; printf (" \nCardápio \n\n"); printf ("1 - Pizzas. \n"); printf ("2 - Bebidas. \n"); printf ("3 - Finalizar o pedido.\n"); printf ("Digite a opção desejada: \n"); scanf("%d", &op); printf ("\n"); ; return op; } int controladorapizza (int op) { int oppizza; printf ("\n1 - Pizza Mussarela - 18,50 R$ \n"); printf ("2 - Pizza Calabresa - 18,50 R$ \n"); printf ("3 - Pizza Franco com Catupiry - 18,50 R$ \n"); printf ("4 - Pizza Quatro Queijos - 22,50 R$ \n"); printf ("5 - Pizza Portuguesa - 22,50 R$ \n"); printf ("Digite a opção desejada: \n"); scanf ("%d", &oppizza); switch (oppizza){ case 1: printf ("\nVocê adicionou pizza de Mussarela a sua bandeja!\n"); break; case 2: printf ("\nVocê adicionou pizza de Calabresa a sua bandeja!\n"); break; case 3: printf ("\nVocê adicionou pizza de Frango com Catupiry a sua bandeja!\n"); break; case 4: printf ("\nVocê adicionou pizza de Quatro Queijos a sua bandeja!\n"); break; case 5: printf ("\nVocê adicionou pizza de Portuguesa a sua bandeja!\n"); break; default: printf ("\nValor incorreto, tente novamente\n"); break;} return oppizza; } int controladorabebida (int op) { int opbebida; char str [10]; printf ("\n1 - Suco - 5,00 R$ \n"); printf ("2 - Refrigerante Lata - 4,00 R$\n"); printf ("3 - Refrigerante 2L - 13,00 R$\n"); printf ("Digite a opção desejada: \n"); scanf ("%d", &opbebida); switch (opbebida){ case 1: printf ("\nInforme o sabor do suco: \n"); scanf ("%s", str); printf ("\nVocê adicionou suco de %s a sua bandeja!\n", str); break; case 2: printf ("\nInforme o refrigerante lata: "); scanf ("%s", str); printf ("\nVocê adicionou %s lata a sua bandeja!\n", str); break; case 3: printf ("\nInforme o refrigerante 2 Litros: "); scanf ("%s", str); printf ("\nVocê adicionou %s 2 Litros a sua bandeja!\n", str); break; default: printf ("\nComando incorreto, tente novamente\n"); break;} return opbebida; } float somapizza (int oppizza){ float precopizza; switch (oppizza){ case 1: precopizza = 18.50; break; case 2: precopizza = 18.50; break; case 3: precopizza = 18.50; break; case 4: precopizza = 22.50; break; case 5: precopizza = 22.50; break;} return precopizza; } int somabebida (int opbebida){ int precobebida; switch (opbebida){ case 1: precobebida = 5; break; case 2: precobebida = 4; break; case 3: precobebida = 13; break; } return precobebida; } int main(){ setlocale(LC_ALL,""); int op,oppizza,opbebida; float tpiz = 0; float tbeb = 0; float totalpedido; float precopizza,precobebida; entrada(); do{ op = menu(op); switch(op){ case 1: oppizza = controladorapizza(oppizza); precopizza = somapizza(oppizza); tpiz = precopizza + tpiz; break; case 2: opbebida = controladorabebida(opbebida); precobebida = somabebida(opbebida); tbeb = precobebida + tbeb; break; } }while(op != 3 ); totalpedido = tpiz+tbeb; printf ("O valor total de seu pedido é: %.2f", totalpedido); printf("\n\n\n"); return 0; } Obrigado!
  20. Boa noite! Preciso resolver o seguinte problema: Elabore um programa em C que processe uma pesquisa sobre algumas características físicas da população de uma certa região. Devem ser coletados os seguintes dados referentes a cada habitante para serem analisados: A) Quantidade de Homens e Mulheres que responderam a pesquisa B) O nome e a idade do Habitante mais velho C)O nome e a quantidade de mulheres com idade de 18 a 35 anos D) O nome e a idade dos homens loiros e de olhos azuis. *Meu grande problema é: Quando peço para continuar a pesquisar e inserir nome, cor dos olhos, cor dos cabelos e idade, ao invés dele ir para a primeira pergunta: "Qual seu nome?", ele vai para "Qual seu sexo?" e segue com as outras perguntas. Além do mais não consegui colocar uma string usando um vetor de caracteres. Imprimi o nome com um carácter somente: "A", "B","C" e assim por diante. Alguém pode me dizer como resolver esses problemas? P.s: Abaixo segue o meu código em C Obrigada desde de então! P.s.: Sou iniciante em programação e linguagem C, agradeço muito a ajuda de vocês. #include <stdio.h> #include <stdlib.h> #include <string.h> int main (){ struct senso{ char nome; int idade,cc,co,sexo; }; struct senso lista[20]={0}; int i=0,x,Qh=0,Qm=0,ih_velho,qtd18_35=0,id_loiro_azul[10]={0}; char nh_velho,n18_35[10]={0},nhm_loiro_azul[10]={0}; while (i<=2){ printf ("Qual é o seu nome?\n"); scanf("%c",&lista.nome); printf ("Qual é o seu sexo?\n[1]M\n[2]F\n"); scanf ("%d",&lista.sexo); printf ("Qual é a sua idade?\n"); scanf ("%d",&lista.idade); printf ("Qual é a cor do seu cabelo?\n[1]Loiro\n[2]Castanhos\n[3]Pretos\n"); scanf ("%d",&lista.cc); printf ("Qual é a cor dos seus olhos?\n[1]Azuis\n[2]Verdes\n[3]Castanhos\n"); scanf ("%d",&lista.co); printf("Deseja continuar?\n[1]Sim\n[2]Não\n"); scanf("%d",&x); system("clear"); /* */ if (x==1){ i++; } /* Caso a condição for diferente 1 o acumuldor receberá 1000 fzendo com que o programa encerre, pois a condição do while está enquanto i for menor igual a 3 */ else { i=1000; } } /* 1 - Quantidade de homens e mulheres que responderam a pesquisa */ for (i=0;i<=2;i++){ if (lista.sexo==1) { Qh=Qh+1; }else { if (lista.sexo==2){ Qm=Qm+1; } } } printf ("\nTotal Homens/Mulheres:\n[Homens]%d\n[Mulheres]%d\n",Qh,Qm); /* 2 - Nome e idade habitante mais velho */ ih_velho=0; for (i=0;i<=2;i++){ if (ih_velho<lista.idade) { nh_velho = lista.nome; ih_velho = lista.idade; } } printf ("\nNome/Idade habitante mais velho:\n[Nome]%c\n[Idade]%d\n",nh_velho,ih_velho); /* 3.1 - Nome de mulheres com idade de 18 a 35 anos */ for (i=0;i<=2;i++){ if ((lista.idade>=18 || lista.idade<=35) && lista.sexo==2) { for (i=0;i<=2;i++){ n18_35=lista.nome; } } } printf ("\nNomes das mulheres entre 18 a 35:\n"); for (i=0;i<=2;i++){ printf ("[Nome]%c\n",n18_35); } /* 3.2 - Quantidade de mulheres com idade entre de 18 a 35 anos */ for (i=0;i<=2;i++){ if ((lista.idade>=18 || lista.idade<=35) && lista.sexo==2){ qtd18_35 = qtd18_35 +1; } } printf ("[Qtd]:%d\n",qtd18_35); /* 4. O nome e a idade dos homens loiros e de olhos azuis */ for (i =0;i<=2;i++){ if (lista.sexo==1 && lista.cc==1 && lista.co==1){ for (i=0;i<=2;i++){ nhm_loiro_azul=lista.nome; id_loiro_azul=lista.idade; } } } printf ("\nHomem loiro/olho azul:\n"); for (i=0;i<=2;i++){ printf ("[Nome/Idade]:%c/%d\n",nhm_loiro_azul,id_loiro_azul); } return 0; }
  21. ola!! boa tarde, alguém pode me ajudar? não sei exatamente o erro do meu codigo //Bibliotecas usadas #include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> #include <math.h> #include <stdbool.h> void valida_sexo(); int main () { printf("Digite seu sexo:\n"); valida_sexo(); system("pause"); return 0; } void valida_sexo(){ char sexo[2]; int i; scanf("%s",sexo); while(sexo<1){ if(sexo=="f"|| sexo=="F"){ printf("Válido"); } if (sexo=="m"|| sexo=="M"){ printf("Válido\n"); } } else { printf("invalido\n"); } }
  22. E AI MEU POVO, GOSTARIA DE UMA AJUDINHA, TENHO ESSE SISTEMA DE CADASTRO QUE LÉ OS DADOS, ARMAZENA NAS LINHAS DA MATRIZ E DEPOIS IMPRIME NA TELA O CADASTRO, EU GOSTARIA DE SABER COMO FAÇO PRA REMOVER O ÍNDICE ESPECIFICADO PELO USUÁRIO, É O CÓDIGO VERIFICAR SE O O ÍNDICE DIGITADO PELO USUÁRIO EXISTE, E SE EXISTIR, GOSTARIA QUE ELE EXCLUÍSSE OS DADOS DESSE ÍNDICE, E OS ÍNDICES POSTERIORES RETROCEDESSEM, DESDE JÁ OBRIGADO! #include <stdio.h> #include <stdlib.h> #include <string.h> #define SIZE 100 void cadastro(); void pesquisa(); void lista(); void remover(); char nome[SIZE][50]; char email[SIZE][50]; int cpf[SIZE]; char op; int op2; int main(void) { int r; do{ system("cls"); printf("\n====MENU=====\n"); printf("1 - CADASTRO\n"); printf("2 - LISTAR TODOS\n"); printf("3 - PESQUISAR\n"); printf("4 - EXCLUIR\n"); printf("5 - SAIR\n"); scanf(" %c", &op); switch(op){ case '1': cadastro(); break; case '2': lista(); system("pause"); break; case '3': pesquisa(); break; case '4': remover(); break; default: printf("\nOpcao invalida\n"); system("pause"); break; } }while(op>4); } void remover(){ int posicao; int i; lista(); printf("\nCodigo Para remover: "); scanf("%d", &posicao); for(i=0; i<SIZE; i++){ if(posicao == nome[i]){ printf("\nAluno excluido!\n"); system("pause"); }else{ break; } i--; } } /*FUNCAO PARA IMPRIMIR OS CADASTROS*/ void lista(){ int i; for(i=0; i<SIZE; i++){ if(cpf[i]>0){ printf("\nCodigo: %d", i+1); printf("\nNome: %s", nome[i]); printf("\nEmail: %s", email[i]); printf("\nCPF: %d", cpf[i]); printf("\n++++++++++++++++++++++\n"); }else{ break; } } } /*FUNCAO DE CADASTRO*/ void cadastro(){ static int linha; do{ printf("\nDigite o nome: "); scanf("%s", &nome[linha]); printf("\nDigite o email: "); scanf("%s", &email[linha]); printf("\nDigite o CPF: "); scanf("%d", &cpf[linha]); linha++; printf("\n1 - continuar \tSAIR - Qualquer tecla"); scanf("%d", &op2); }while(op==1); } /*FUNCAO PARA PESQUISAR O USUARIO já CADASTRADO*/ void pesquisa(){ int cpfPesquisa; char emailPesquisa[50]; char nomePesquisa[50]; int i; do{ printf("\nl - CPF: "); printf("\n2 - EMAIL: "); printf("\n3 - NOME: "); scanf(" %c", &op); switch(op){ case '1': printf("Digite o CPF: "); scanf("%d", &cpfPesquisa); for(i=0; i<SIZE; i++){ if(cpf[i] == cpfPesquisa){ printf("\nNome: %s", nome[i]); printf("\nEmail: %s", email[i]); printf("\nCPF: %d", cpf[i]); }else{ printf("\nNao a cadastro com esse CPF\n"); system("pause"); } } break; case '2': printf("Digite o seu email: "); scanf("%s", emailPesquisa); for(i=0; i<SIZE; i++){ if(strcmp(email[i], emailPesquisa) == 0){ printf("\nNome: %s", nome[i]); printf("\nEmail: %s", email[i]); printf("\nCPF: %d", cpf[i]); }else{ printf("\nNao a cadastro com esse Email\n"); system("pause"); } } break; case '3': printf("digite o nome: "); scanf("%s", &nomePesquisa); for(i=0; i<SIZE; i++){ if(strcmp(nome[i], nomePesquisa) == 0){ printf("\nNome: %s", nome[i]); printf("\nEmail: %s", email[i]); printf("\nCPF: %d", cpf[i]); }else{ printf("\nNao a cadastro com esse Nome\n"); system("pause"); } } break; default: printf("\n Valor invalido"); system("pause"); pesquisa(); break; } printf("\n1 - continuar \tSAIR - Qualquer tecla"); scanf("%d", &op2); }while(op==1); }
  23. Me ajudem por favor, estou fazendo um menu de alunos, com lista encadeada, que deve ter função pra inserir, excluir, printar todos, até aí tudo bem, mas tem que ter uma função que pode pesquisar um aluno específico na lista, e tem que conseguir achar mesmo que o nome não teja inteiro, com parte do nome já tem que aparecer o aluno. Além, quando ativa essa função, ainda tem que ser acionada uma outra lista encadeada, mas de matérias, que tem funções pra cadastrar matéria, excluir, editar, printar as matérias do aluno, etc. Não sei se ficou tão claro o que tenho que fazer, mas to tentando fazer, se alguém puder ajudar. eu só estou com dúvidas na hora de pesquisar por parte do nome, e na hora que que chama a struct de matérias dos alunos
  24. Trabalho de Estrutura de Dados 1. Utilizando as funções primitivas para manipulação de pilha, escreva um programa em C para determinar se uma string de caracteres de entrada é da forma: xCy onde x é uma string consistindo nas letras 'A' e 'B', e y é o inverso de x (isto é, se x = "ABABBA", y deve equivaler a "ABBABA"). Em cada ponto, você só poderá ler o próximo caractere da string. 2. Escreva um programa em C que contenha funções para executar cada uma das seguintes operações: a. Incluir um elemento no final de uma lista. b. Concatenar duas listas. c. Liberar todos os nós numa lista. d. Inverter uma lista de modo que o último elemento se torne o primeiro, e assim por diante. e. Eliminar o último elemento de uma lista. f. Eliminar o enésimo elemento de uma lista. g. Combinar duas listas ordenadas numa única lista ordenada. h. Formar uma lista contendo a união dos elementos de duas listas. i. Formar uma lista contendo a intersecção dos elementos de duas listas. j. Inserir um elemento depois do enésimo elemento de uma lista. k. Eliminar cada segundo elemento de uma lista. l. Retornar a soma dos inteiros numa lista. m. Retornar o número de elementos numa lista
×
×
  • Criar Novo...