Ir ao conteúdo
  • Cadastre-se

Duda1001

Membro Júnior
  • Posts

    18
  • Cadastrado em

  • Última visita

posts postados por Duda1001

  1. Oii, boa tarde! Eu tenho que fazer uma agenda, onde vai ser cadastrado 6 nomes, depois do usuário digitar o nome e e-mail, vai ser exibido algumas opções: Pesquisar um nome, ordenação alfabética, editar dado, remover dado e sair. As únicas opções que eu não estou conseguindo fazer é "Remover" e "Pesquisa", alguém pode me ajudar..

    Obrigado desde já!


     

    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <string.h>
    #define cls system("cls");
    int main()
    {
    	int i,j,x,y,edit,pesq,cont,flag;
    	struct agenda  
    	{
    	    char nome [80];
    	    char ema[200];
    	    
        };
        agenda cadastro [6];
    
    	printf ("....Cadastro de Dados....\n\n");
    	for (i=1; i<7; i++ )
        {
           	printf ("Nome:");
    		fflush(stdin);
    		gets (cadastro[i].nome);
    		
    		printf ("E-mail:");
    		fflush(stdin);
    		gets  (cadastro[i].ema);
    		printf ("\n");
    }
    
        int op;
        do{
    		printf("\nEscolha a opcao desejada:\n\n");
    		printf(" 1-  Pesquisa\n");
    		printf(" 2 - Classificacao alfabetica\n");
    		printf(" 3 - Editar dado\n");
    		printf(" 4 - Remover dado\n");
    		printf(" 5 - Sair.\n");
    	
    		scanf ("%d",&op);
    		switch (op)
    		{
    		
    		//PESQUISA
    		case 1:{
    		{
    		break;
    
    			//ORDEM ALFABETICA
    			case 2:
    			    
    			printf ("....Nomes em ordem alfabetica....:\n");
    			for (i=1; i<7; i++)
    	        {
    	        for (j=i+1; j<7; j++)
    	        {
    	        if ( strcmp(cadastro[i].nome, cadastro[j].nome ) > 0 )
    	        {
    	        cadastro[0] = cadastro[i];
    	        cadastro[i] = cadastro[j];
    	        cadastro[j] = cadastro[0];
    	        }
    	    	}
    	    	}
    	        for (i=1;i<7;i++)
    	        {
    	        printf("Nome: %s\n",cadastro[i].nome);
    	        }
    	        break;
    			
    			//EDITAR
    			case 3:
    			    
    			char nom[30];
    			char ema[200];
    		
    	        flag=0;
    	    	cls
    			    
    			printf ("\n....Editar Dado....\n");
    			    	
    			for (i=1;i<7;i++)
                printf("Nome: %s\n",cadastro[i].nome);
    			printf( "\nQual nome desejar editar: ");
    		    fflush(stdin);
    		    fgets(nom,29,stdin);
    		    nom[strlen(nom)-1] = '\0';
    	            	
    			for(i=1;i<7;i++)
    	        if(strcmp(nom,cadastro[i].nome) == 0 ){
    	    	flag = 1;
    	        printf("Novo Nome:");
    	        fgets(nom,29,stdin);
    	        strcpy(cadastro[i].nome,nom);{
    	                
    			flag = 1;
    	        printf("Novo E-mail:");
    	        fgets(ema,12,stdin);
    	       	strcpy(cadastro[i].ema,ema);{
             	}
    	    	printf("edicao realizada com sucesso !\n");
    	        }
    	        if( ! flag )
    	                	
    			printf("nome invalido!\n");
    			break;
    			    
    			//REMOVER
    			case 4:{
    				
    			}break;
    						
    			//SAIR
    			case 5:{
    								
    			printf("\nExibindo Agenda:\n");
    		  	for( i=1; i<7;i++){
    		  					
    		  	printf ("\nNome: %s\n",cadastro[i].nome);
    			printf ("E-mail: %s\n",cadastro[i].ema);}
    			break;}
    							
    			}
    			printf ("Saindo....");
    					
    			default:
    			printf ("");       
    }
    }
    }
    
    	}while( op!=5 );
        return 0;
    }

     

    • Amei 1
  2. Boa tarde, eu estou fazendo um código e nele se pede para fazer uma agenda, o usuário vai digitar 5 nomes e suas idades, em seguida escolher uma das 3 opções, 1-ordem alfabética, 2-Editar dado e 3- sair. Eu ate consegui fazer ler a ordem alfabética porém, só não le um numero e na parte de fazer a edição eu estou com dificuldade. Alguém poderia me ajuda, agradeço desde já.

     

    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <string.h>
    int main(){
    	
    	int i,j,x,y,edit,pesq,cont;
    	struct agenda{
    		
    	char nome [80];
    	int idade;
    	
    };  agenda cadastro [5];
    		
    	printf ("\n....Agenda....\n");
    	printf ("\n....Cadastro de Dados....\n");
    	for (i=0; i<=4; ++i){
    	
    	printf ("\nNome:");
    	fflush(stdin);
    	gets (cadastro[i].nome);
    	{
    	printf ("Idade:");
    	scanf ("%d",&cadastro[i].idade);
    	{
    }
    
    }
    } 
    int op;
    do{
    
    		printf ("\nEscolha a opcao desejada:\n");
    		printf ("\n1-Classificacao alfabetica\n2-Editar dado\n3-Sair\n");
    		scanf ("%d",&op);
    		switch (op){
    			
    		case 1:
    		printf ("....Nomes em ordem alfabetica....");
    				
    		for (i=0; i<=5; i++){
    		for (j=i+1; j<=5; j++){
    					
    		if (strcoll(cadastro[i].nome, cadastro[j].nome) > 0)
    				
    		cadastro[0]=cadastro[i];
    		cadastro[i]=cadastro[j];
    		cadastro[j]=cadastro[0];
    								
    		for (i=0;i<5;i++){
            printf("Nome: %s\n",cadastro[i].nome);}
    		break;
    		
    		case 2:
    	
    		printf ("\n....Editar Dado....\n");
    		printf ("Qual nome desejar editar:");
        
    		printf ("\n" );
    	
    
    		break;	        
    		case 3 :				
    		printf("\nExibindo Agenda:\n");
    		for (i=0; i<5;i++){
    									
    		printf("\nNome %s\n", cadastro[i].nome);
    	 	printf ("Idade: %d\n",cadastro[i].idade);
    		printf ("\n");}
    		printf("\n.....Saindo.....\n");
    		break;default:printf (" ");
    }
    }
    
    }
    } while (op!=3);return(0);
    }
    
    
    
    
    
    
    
    

     

    • Obrigado 1
  3. 4 horas atrás, mauro_b disse:

    Boa tarde,

     

     

    É tão fácil perder uma parte do trabalho quando toda programação é "depositadas" em um só lugar, por exemplo, na função main. Há rotinas sequencias que foram organizadas dentro dela, ainda assim, a sugestão é organiza tudo a sub-rotinas.

     

    Esse não é de todo o caso, mas observe que uma correção fez perder outra tarefa que em uma função (isolada) só com seu trabalho, suas tarefas e, principalmente, livre da correção de outras... seria menos um problema.

    "

     

    Parece crueldade está recomendo reiniciar o exercício, tudo de novo, mais dessa vez organizando em sub-rotinas (função), mas, é uma sugestão.

    Valeu. Eu já consegui fazer o programa.

    • Amei 1
  4. #include <stdio.h>
    int main (){
    	
    	int a[3],b[1][1],i,j,fat=1;
    	
    		printf ("Declare a Matriz A:\n");
    		for (i=0; i<3; i++)
    		scanf ("%d",&a[i]);
    		{
    		for (i=0; i<1; i++)
    		for (j=0; j<1; j++)
    		{
    
    			printf ("%d ",b[0][0]=a[i]+5);
    			printf ("%d ",b[0][1]= fat*=a[1]);
    			printf ("%d ",b[0][2]=a[2]*a[2]);
    			printf ("\n");
    			}
    			}
    			}
    21 horas atrás, devair1010 disse:

    @Duda1001    o primeiro for está certo , e nem precisa colocar aquela chave ali , e o segundo ficou faltando o Loop for j ,   e nesse enunciado não disse nada de somar s matriz , não , 

    Eu acredito ter resolvido este problema só que agora eu não estou conseguindo fazer o calculo da minha fatorial, eu fiz deste jeito:

     

    • Obrigado 1
  5. Bom dia, eu estou fazendo um codigo mais acredito que esta errado. O enunciado pede para ler uma matriz A 1D com 10 elementos, depois uma matriz B 2D  com três colunas. A primeira faz a matriz A+5, a segunda faz a fatorial e a terceira faz o quadrado. 

     

    #include <stdio.h>
    int main (){
    	
    	int A[10],B[4][3],i,j,fat=1;
    
    		printf ("Declare a Matriz A:");
    		for (i=0; i<10; i++)
    		scanf ("%d",&A[i]);
    		{
    			for (i=0; i<10; i++)
    			
    			{
    				B[i][j]= 5+A[i];
    				{
    					printf ("%d ",B[i][j]);
    					printf ("\n");
    				}
    			}
    		}			for (i=0; i<10; i++)
    	
    			{
    				B[i][j] = fat*= A[i];
    				{
    					printf ("%d ",B[i][j]);
    					printf ("\n");
    		
    					}
    				}	
    				
    					for (i=0; i<10; i++)
    					
    			{
    				B[i][j] = A[i] * A[i];
    				{
    					printf ("%d ",B[i][j]);
    					printf ("\n");
    					
    				}
    				}
    			}
    	

     

    • Obrigado 1
  6. Ler 15 elementos em uma matriz A tipo vetor. Criar uma matriz B de mesma dimensão, sendo que Cada elemento da matriz B seja a fatorial do elemento correspondente da matriz A. Exibir os elementos da matriz B ordenados de forma crescente.

    Boa Tarde, alguém poderia me ajudar. Eu estou em duvida de como eu posso fazer para que o programa exiba em ordem crescente. Obrigado desde já!!

     

    //Ex 3 Fatorial
     #include <stdio.h>
    
    int main (){
    
    int fat[12],i,vet[12];
    
    for (i=0; i<12; i++)
    {
    printf("Digite um numero:\n");
    scanf ("%d",&vet[i]);
    }
    
    for (i = 0; i < 12; i++) {
        for (fat[i] = 1; vet[i] > 1; vet[i]--) {
            fat[i] *= vet[i];
        }
        {
            printf ("\n\n");
        }
        printf("%d", fat[i]);
    }   
    return 0;
    }


     

  7. Elaborar um programa que escreva em tela todos os números pares existentes entre 20 e 1, utilizando o comando while( ).

     

    Boa tarde, eu gostaria de saber como eu faço para mostrar os números do maior para o menor. Eu só estou conseguindo fazer assim. Obrigado desde já.

     

    #include <stdio.h>
    #include <conio.h>
    int main(){
    	
    	int i;
    	i = 0;
    	while (i <= 20)
    	{
    	printf ("%i\n",i);
    	i=i+2;
    	}	
    	getch();
    	return 0;}

     

  8. Enunciado:  Escreva um programa para ler N (Enquanto o usuário desejar) valores fornecidos pelo usuário e:

    a-) calcular a média aritmética entre eles. b-) verificar qual é o maior e menor elemento entre os elementos lidos.

    c-) verificar a qual faixa o elemento pertence.

    Faixa 1 – Elementos < 0

    Faixa 2 – Elementos >=0 e < 15

    Faixa 3 – Elementos >=15 e < 100

    Faixa 4 – Elementos >= 1000

    Faixa 5 – Elementos >= 101 e < 1000

    Contabilizar – - O total de elementos por faixa - O total da faixa

    e-) verificar quais deles são pares ou ímpares

    f-) contabilizar - Total de Pares e o total de Ímpares

    O programa devera ser executado enquanto o usuário desejar.

     

    Oii, eu consegui fazer ate a o "e". Eu to com um pouco de dificuldade de fazer o "f", eu consegui fazer ele contabilizar os pares e impares mais pra isso ele pede para digitar os números novamente. Alguém pode dar uma ajuda... 

    #include <stdio.h>
    #include <conio.h>
    int main(void){
    	
    	char menu = 'S';
    	int x,a,b,c,d,ma,i;
    	
    	do{
    
    	
    	printf ("Digite 4 numeros:\n");
    	scanf ("%i%i%i%i",&a,&b,&c,&d);
    	{
    
    	//media aritmetica
    	ma = (a+b+c+d)/4;
    	printf ("A media aritmetica entre eles e: %d\n",ma);
    }
    
    	//maior
    	{
    	if (a>b && a>c && a>d)
    	printf ("\nO numero maior e: %d\n",a);
    }
    	
    	{
    	
    	if (b>a && b>c && b>d)
    	printf ("\nO numero maior e: %d\n",b);
    }
    	{
    			
    	if (c>a && c>b && c>d)
    	printf ("\nO numero maior e: %d\n",c);
    	
    }
    	{
    			
    	if (d>a && d>b && d>c)
    	printf ("\nO numero maior e: %d\n",d);
    }
    
    	//menor
    	{
    	if (a<b && a<c && a<d)
    	printf ("\nO numero menor e: %d\n",a);
    	
    }
    	{
    	
    	if (b<a && b<c && b<d)
    	printf ("\nO numero menor e: %d\n",b);
    }
    	{
    		
    	if (c<a && c<b && c<d)
    	printf ("\nO numero menor e: %d\n",c);
    	
    }
    	{
    		
    	if (d<a && d<b && d<c)
    	printf ("O numero menor e: %d\n",d);
    }
    
    	{
    	//Faixa
    	
    	if (ma < 0)
    	printf ("\nPertence a Faixa 1.\n");
    }
    {
    	if (ma >=0)
    	if (ma <15)
    	printf ("\nPertence a Faixa 2.\n");
    }
    {
    	if (ma >=15)
    	if (ma <100)
    	printf ("nPertence a Faixa 3.\n");
    }
    {
    	if (ma >=1000)
    	printf ("\nPertence a Faixa 4.\n");
    }
    {
    	if (ma >=101)
    	if (ma <1000)
    	printf ("\nPertence a Faixa 5.\n");
    }
    		//par e impar
    	if (a%2==0)
    	printf ("\nO numero %d e par.\n",a);
    	{
    	if (b%2==0)
    	printf ("\nO numero %d e par.\n",b);
    	{
    	if (c%2==0)
    	printf ("\nO numero %d e par.\n",c);
    	{
    	if (d%2==0)
    	printf ("\nO numero %d e par.\n",d);
    
    }
    
    	if (a%2==1)
    	printf ("\nO numero %d e impar.\n",a);
    	a= a + 2;
    	{
    		
    	if (b%2==1)
    	printf ("\nO numero %d e impar.\n",b);
    	b = b + 2;
    	{
    	if (c%2==1)
    	printf ("\nO numero %d e impar.\n",c);
    	c= c + 2;
    	{
    	if (d%2==1)
    	printf ("\nO numero %d e impar.\n",d);
    	d = d + 2;
    }
                        
    
    }
    }
    }
    }
    		printf ("\nDeseja sair do programa? (S/N)");
    		scanf ("\n%c",&menu);
    	}while (menu != 'S');
    	return 0;
    }

     

     

     

    • Obrigado 1
  9. Oii boa tarde! Esse é o enunciado: Numa faculdade, os alunos com média pelo menos 7,0 são aprovados, aqueles com média inferior a 3,0 são reprovados e os demais ficam de recuperação. Dadas as duas notas de um aluno, elabore um programa em C que informe sua situação. Use as cores azul, vermelho e amarelo para as mensagens “aprovado”, “reprovado” e “recuperação”, respectivamente.

    A logica eu consegui fazer menos a parte de colocar a cor.

    #include <stdio.h>
    #include <conio.h>
    int main (){
    
    float n1,n2,media;
    printf ("Digite a primeira nota:");
    scanf ("%f",&n1);
    printf ("Digite a segunda nota:");
    scanf ("%f",&n2);
    
    media = (n1+n2)/2;
    
    if (media>=7)
    printf ("APROVADO");
    
    else{
    
    if (media <3)
    
    printf ("REPROVADO");
    
    else{
        
        if (media >=3)
        printf ("RECUPERACAO");
    }
    }
    }

    Obrigado desde já!!!

    • Amei 1
  10. Esse é o enunciado:

    Faça o programa que calcule o salário líquido dos funcionários de uma empresa. O salário líquido é composto por descontos e adicionais, seguindo as seguintes regras: Descontos: Salário bruto < 800,00 – não realizar nenhum desconto; 800,00 1600,00 – descontar 15% de Imposto de Renda e 7% de encargos. Adicionais: Caso o funcionário tenha trabalhado mais de 160 horas no mês, divida o seu salário bruto por 160 (representa horas trabalhadas) e calcule 50% de adicional nas horas que excederam a 160. O usuário deverá digitar o salário bruto e o número de horas trabalhadas no mês de cada funcionário, e deverá receber como resultado o salário líquido. O usuário poderá calcular salário para N funcionários, para finalizar o programa o usuário deverá digitar 0 no salário bruto, ao finalizar o programa exibir o total geral dos salários líquidos

     

    Eu fiz o programa e ele roda só que na hora de dar o resultado da erro, alguém pode me ajuda. Obrigado desde já!!

     

    #include <stdio.h>
    #include <conio.h>
    int main (){
    	
    	float salbru,salliq,hrs,adic;
    	printf ("Digite o Salario Bruto:");
    	scanf ("%f",&salbru);
    	printf ("Digite a horas trabalhadas:");
    	scanf ("%f",hrs);
    	if (hrs>160);
    	hrs<-(hrs-160);
    	adic<-(salbru/160)+(hrs*0.50);
    	salbru<-(adic+salbru);
    	{
    	}
    	if (salbru<800.00)
    	salliq<-salbru;
    	printf ("O salario liquido e %2.f:",salliq);
    	
    	
    	
    		
    	if (salbru<=800.00)(salbru<=1600.00);
    	salliq<-(salbru-(salbru*0.13));
    	printf ("O salario liquido e %2.f:",salliq);
      
    	{
    
    	}
    
    	salliq <(salbru-(salbru*0.22));
    	printf ("O salario liquido e %2.f:",salliq);
    	getch();
    	return 0;
    }

     

  11. Oii alguem poderia me ajudar, eu fiz o programa e ele roda só que na hora de exibir o resultado da errado.

     

    #include <conio.h>
    #include <stdio.h>	
    int main (){
    	
    	float A,B;
    	printf ("Digite o primeiro valor:");
    	scanf ("%f",&A);
    	printf ("Digite o segundo valor:");
    	scanf ("%f",&B);
    	if (A>B)
    	printf ("A diferenca entre os valores e:",(A-B));
    	else
    	{
    	printf ("A diferenca entre os valores e:",(B-A));
    	}
    	getch();
    	return 0;
    	}


       

    • Obrigado 1

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!