Ir ao conteúdo
  • Cadastre-se

luckyiers

Membro Júnior
  • Posts

    16
  • Cadastrado em

  • Última visita

posts postados por luckyiers

  1. @devair1010 cara muito obrigado estou tentando passar em ordem alfabetica mais ta listando somente 1 

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <iomanip>
    #include <vector>
    #include <stdlib.h>
    #include <string.h>
    #include <conio.h>
    #include <ctype.h>
    #define getch() _getch();
    //protótipo das funções
    int menu();
    int cadastrar(int);
    void listar(int);
    void consultar(int);
    void grava_tudo_no_arquivo(int);
    int pega_dados_do_arquivo(int);
    //criação da struct
    typedef struct
    {
    	char crm[15], nome[41],
    	     titulo_eleitor[20],
    	     certif_militar[20];
        float credito;
    } cliente;
    cliente cadcliente[100];
    //função principal
    
    int main()
    {
        int resp,contador = pega_dados_do_arquivo(0);
        do
        {
            resp = menu();
            switch( resp )
            {
            case 1 :
                contador = cadastrar(contador);
                break;
            case 2 :
                listar(contador);
                break;
            case 3 :
                consultar(contador);
                break;
            case 0 :
                grava_tudo_no_arquivo(contador);
                exit(0);
            default:
                printf("\nOpcao invalida...\n");
                system("pause");
            }
        } while ( resp != 0 );
        return 16;
    }
    //função cadastrar()
    int cadastrar(int contador)
    {
        //declaração das variáveis locais
        char resposta;
        int ax;
    	do
    	{
    	    LabeL_1: // pode ser qualquer nome
            system("cls");
            printf("Informe o crm do cliente: ");
            fflush(stdin);
            scanf("%14[^\n]", cadcliente[contador].crm);//o contador aponta para a posição do vetor de struct ou typedef
            printf("Informe o nome do cliente: ");
            fflush(stdin);
            scanf("%40[^\n]", cadcliente[contador].nome);
            printf("Informe o valor do credito: ");
            scanf("%f", &cadcliente[contador].credito);
    
    		ax = 0;//começa pesquisar da posição zero , a primeira no vetor
            while( ax < contador )
            {
                if( strcmp( cadcliente[ax].crm,cadcliente[contador].crm ) == 0 )
                {
                    printf("ja tem um crm com esse numero , digite crm nome credito novamente   TecLe");
                    getch();
                    goto LabeL_1; // comando em desuso , mas func
                }
                ax++;
            }
            contador++;
    		printf("Cadastrar outro cliente <S/N>");
    		resposta = getche();
    
    	} while(toupper(resposta)=='S');
    	return contador;
    }
    //função menu()
    int menu()
    {
    	//declaração da variável
    	int opcao;
    	system("cls");
    	printf(" 0 - Sair\n");
    	printf(" 1 - Cadastrar\n");
    	printf(" 2 - Listar\n");
    	printf(" 3 - Consultar\n");
    	printf("     Opcao ? : ");
    	scanf("%i", &opcao);
    
    	return opcao;
    }
    
    //função consultar()
    void consultar(int contador)
    {
        //variáveis locais
        cliente cadcliente;
        char chave[41];
        int flag = 0;
    
        //ponteiro para o arquivo
        FILE *pontarq;
    
        //abrir o arquivo para leitura modo binário
        if((pontarq=fopen("cadastrocli.txt", "rb"))==NULL)
        {
            printf("\nErro na abertura do arquivo ou nao ha registros\n");
        }
        else
        {
            system("cls");
            printf("Informe o nome a consultar: ");
            fflush(stdin);
            scanf("%40[^\n]", chave);
    
            //estrutura de repetição para ler o arquivo e comparar com a chave
            while((fread(&cadcliente, sizeof(cadcliente), 1, pontarq))==1)
            {
                if(strcmp(strupr(chave),strupr(cadcliente.nome))==0)
                {
                    printf("crm: %s", cadcliente.crm);
                    printf("\nNome: %s", cadcliente.nome);
                    printf("\nCredito: %.2f\n", cadcliente.credito);
    
                    //mostrar flag para 1 - encontrou
                    flag = 1;
                }
            }
            if(flag == 0)
                printf("\nCliente nao cadastrado...\n");
    
            //fechar o arquivo
            fclose(pontarq);
        }
        system("pause");
    }
    void listar(int contador)
    {
        int j,i;
        for(j=0;j<contador; j++)
        {
            printf("crm -------: %s\n"    ,cadcliente[j].crm    );
            printf("NOME ------: %s\n"    ,cadcliente[j].nome   );
            printf("CREDITO ---: %.2f\n\n",cadcliente[j].credito);
        }
        fflush(stdin);
        printf("\nPessoas em ordem alfabetica:\n");
    	for(i=1; i<contador; i++){
            for(j=i+1;j<contador;j++){
    	        if(strcoll(cadcliente[i].nome , cadcliente[j].nome) > 0 ){
                    cadcliente[0]=cadcliente[i];
                    cadcliente[i]=cadcliente[j];
                    cadcliente[j]=cadcliente[0];
                    fflush(stdin);
    	        }
            }
    	}
    	for(i=0;i<contador;i++){
            printf("NOME: %s\n",cadcliente[i].nome);
            fflush(stdin);
    	}
        printf("Aperte qualquer Tecla");
        getch();
    }
    void grava_tudo_no_arquivo(int contador)
    {
        int j;
        FILE *pontarq;
        pontarq = fopen("cadastrocli.bin", "wb");// cria resete e abre o arquivo para gravar desde o início dele
        for(j=0; j<contador; j++)
            fwrite(&cadcliente[j], sizeof(cadcliente),1,pontarq);
        fclose(pontarq);
    }
    int pega_dados_do_arquivo(int contador)
    {
        FILE *pontarq;
        pontarq = fopen("cadastrocli.bin", "rb");
        if(pontarq == NULL )return 0;
        printf("Dados já cadastrados e que estão gravados no Arquivo\n");
        while( fread( &cadcliente[contador], sizeof(cadcliente), 1, pontarq ) == 1 )
        {
            printf("crm -------: %s\n"    ,cadcliente[contador].crm    );
            printf("NOME ------: %s\n"    ,cadcliente[contador].nome   );
            printf("CREDITO ---: %.2f\n\n",cadcliente[contador].credito);
            contador++;
        }
        fclose(pontarq);
        printf("    Tecle !");
        getch();
        return contador;
    }

     

    • Obrigado 1
  2. #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <conio.h>
    #include <ctype.h>
    
    //protótipo das funções
    int menu();
    void cadastrar();
    void listar();
    void consultar();
    
    //criação da struct
    typedef struct
    {
    	char cpf[15], nome[41];
    	float credito; 
    } cliente;
    
    //função principal
    main()
    {
    	int resp;
    	do
    	{
    		resp = menu();
    		switch(resp)
    		{
    			case 1 : cadastrar();
    			break;
    			//case 2 : listar();
    			break;
    			case 3 : consultar();
    			break;
    			case 0 : exit(0); 
    			default:
    				{
    					printf("\nOpcao invalida...\n");
    					system("pause");
    				}
    		}
    	} while (resp !=0);
    }
    
    //função cadastrar()
    void cadastrar()
    {
    	//declaração das variáveis locais
    	cliente cadcliente;
    	char resposta;
    	
    	//declaração ponteiro do arquivo
    	FILE *pontarq;
    	
    	//abrir o arquivo para escrita no modo binário (ab)
    	pontarq = fopen("cadastrocli.txt", "ab");
    		
    	//estrutura de repetição da entrada de dados
    	do
    	{
    		system("cls");
    		printf("Informe o CPF do cliente: ");
    		fflush(stdin);
    		scanf("%14[^\n]", cadcliente.cpf);
    		printf("Informe o nome do cliente: ");
    		fflush(stdin);
    		scanf("%40[^\n]", cadcliente.nome);
    		printf("Informe o valor do credito: ");
    		scanf("%f", &cadcliente.credito);
    		
    		//gravar as informações no arquivo
    		fwrite(&cadcliente, sizeof(cadcliente),1,pontarq);
    		
    		printf("Cadastrar outro cliente <S/N>");
    		resposta = getche();
    		
    	} while(toupper(resposta)=='S');
    	
    	//fechar o arquivo
    	fclose(pontarq);
    }
    
    //função menu()
    int menu()
    {
    	//declaração da variável
    	int opcao;
    	system("cls");
    	printf("1-Cadastrar\n2-Listar\n3-Consultar\n0-Sair\n");
    	printf("Opcao?: ");
    	scanf("%i", &opcao);
    	
    	return opcao;
    }
    
    //função consultar()
    void consultar()
    {
    	//variáveis locais
    	cliente cadcliente;
    	char chave[41];
    	int flag = 0;
    	
    	//ponteiro para o arquivo
    	FILE *pontarq;
    	
    	//abrir o arquivo para leitura modo binário
    	if((pontarq=fopen("cadastrocli.txt", "rb"))==NULL)
    	{
    		printf("\nErro na abertura do arquivo ou nao ha registros\n");
    	}
    	else
    	{
    		system("cls");
    		printf("Informe o nome a consultar: ");
    		fflush(stdin);
    		scanf("%40[^\n]", chave);
    		
    		//estrutura de repetição para ler o arquivo e comparar com a chave
    		while((fread(&cadcliente, sizeof(cadcliente), 1, pontarq))==1)
    		{
    			if(strcmp(strupr(chave),strupr(cadcliente.nome))==0)
    			{
    				printf("CPF: %s", cadcliente.cpf);
    				printf("\nNome: %s", cadcliente.nome);
    				printf("\nCredito: %.2f\n", cadcliente.credito);
    				
    				//mostrar flag para 1 - encontrou
    				flag = 1;
    			}
    		}
    		if(flag == 0)
    			printf("\nCliente nao cadastrado...\n");
    		
    		//fechar o arquivo
    		fclose(pontarq);
    	}
    	system("pause");
    }

    Tem esse cadastro de CPF o nome e o credito mais eu não queria que repetisse tipo por exemplo o CPF eu n sei como q eu posso estar fazendo isso

    • Obrigado 1
  3. #include<stdio.h>
    #include<stdlib.h>
    
    struct remedios
    {
    	int codigo, quantidade;
    	char nome[50];
    	float valor;
    	struct remedios *ant;
    	struct remedios *prox;
    };
    
    int escolha;
    
    main()
    {
    	remedios*inicio = (remedios*)malloc(sizeof(remedios));
    	if(!inicio)
    	{
    		printf("Erro");
    		exit(1);
    	}
    	
    	inicio->codigo = NULL;
    	inicio->nome[0] = NULL;
    	inicio->quantidade= NULL;
    	inicio->valor = NULL;
    	inicio->prox = NULL;
    	
    	do
    	{
    		printf("1 - Carregar despesas de remedios" );
    		printf("\n");
    		printf("2 - Imprimir lista das despesas de remedios");
    		printf("\n");
    		printf("3 - Sair");
    		printf("\nFunção: ");
    		scanf("%i", &escolha);
    		printf("\n");
    		
    		switch(escolha)
    		{
    			case 1:
    				{
    					remedios*novo = (remedios*)malloc(sizeof(remedios));
    					if (!novo)
    				    {
    					    printf("Erro");
    					    exit(1);
    				    }
    				    novo->codigo = NULL;
    				    novo->nome[0] = NULL;
    				    novo->quantidade = NULL;
    				    novo->valor = NULL;
    	                novo->prox = NULL;
    					
    					printf("Codigo: ");
    					scanf("%i", &novo->codigo);
    					
    					printf("Nome do remedio: ");
    					fflush(stdin);
    					gets(novo->nome);
    					 
    					printf("quantidade: ");
    					scanf("%i", &novo->quantidade);
    					
    					printf("valor: ");
    					scanf("%f", &novo->valor);
    					
    					if (inicio->prox == NULL)
    				    {
    					    inicio->prox = novo; 
    				    }
    				    
    				    else
    				    {
    					    remedios *temp;
    					    temp = inicio;
    					
    					    while (temp->prox != NULL)
    					    {
    						    temp = temp->prox;
    					    }
    					    temp->prox = novo;
    					}  
    			    }
    			    break;
    			case 2: 
    			    {
    				    remedios *temp;
    				    temp = inicio;
    				    
    				    if(inicio->prox == NULL)
    				    {
    				        printf("Nenhum remedio encontrado\n\n");
    				        system("pause");
    				        break;
    				    }
    				    
    				    else
    				    {	
    				        do 
    				        {
    				        	temp = temp->prox;
    				        	printf("Codigo: %2i\n", temp->codigo);
    							printf("Nome do remedio: %2s\n", temp->nome);
    				        	printf("Quantidade: %2i\n", temp->quantidade);
    					        printf("valor: %2f\n", temp->valor);
    					        printf("\n");
    				        }while (temp->prox != NULL);
    				    }
    			    }
    			    printf("\n");
    			    system("pause");
    			    break;
    			case 3: 
    			    {
    				    printf("Fim do programa\n\n");
    			    }
    			    system("pause");
    			    break;
    		}
    		system("cls");
    	}while(escolha != 3);
    }

    Ola estou tentando limitar essa struct do comeco para 50 mais ela nao esta indo se alguem poder me ajudar como fazer isso agradeco. Obrigado

    • Obrigado 1
  4. #include <iostream>
    #include <new>
    #include <string>
    #include <stdlib.h>
    
    using namespace std;
    
    //Struct para album
    struct album{
        string nome;
        int ano;
        struct album *proximo;
    };
    
    //Limpa a tela
    void limpatela(){
        system("CLS");
    }
    
    //Conta quantos elementos tem na lista
    int retornaTamanhoListaEncadeada(album *ponteiroEncadeada){
    
       //Tamanho da lista
       int tamanho = 0;
    
       //Ponteiro para percorrer a lista
       album *p = ponteiroEncadeada;
    
       while(p != NULL){
    
           //Transforma o P no endereco do proximo valor, Caso o endereco seja NULL, estamos no fim da lista
            p = p->proximo;
    
            //Contador de tamanho da lista
            tamanho++;
       }
    
       return tamanho;
    
    }
    
    //Imprime a lista encadeada
    void imprimeEncadeada(album *ponteiroEncadeada) {
    
       //Ponteiro auxiliar para percorrer a lista
       album *p = ponteiroEncadeada;
    
       //Mostra a posicao do elemento
       int posicao = 0;
    
       //Enquanto o p nao for nulo
       while(p != NULL){
    
            //Imprime o valor da lista
            cout << posicao << " - " << p->nome << ", " << p->ano << "\n";
    
            //Transforma o P no endereco do proximo valor, Caso o endereco seja NULL, estamos no fim da lista
            p = p->proximo;
    
            //Incrementa a variavel da posicao dos elementos
            posicao++;
       }
    
       //Libera Memoria
       free(p);
    
    }
    
    //Adiciona um elemento ao comeco
    void adcComecoEncadeada(album *&ponteiroEncadeada, string nome, int ano){
    
        //Cria uma nova estrutura
        album *novovalor = new album;
        novovalor->nome = nome;
        novovalor->ano = ano;
        novovalor->proximo = ponteiroEncadeada;
    
        //Redireciona o ponteiro
        ponteiroEncadeada = novovalor;
    
    }
    
    //Adiciona um elemento ao fim
    void adcFimEncadeada(album *ponteiroEncadeada, string nome, int ano){
    
        //Cria um novo valor
        album *novoValor = new album;
        novoValor->nome = nome;
        novoValor->ano = ano;
        novoValor->proximo = NULL;
    
        //Cria um cursor que percorre a lista
        album *p = ponteiroEncadeada;
    
            //Enquanto o p nao for nulo
            while(p != NULL){
    
                //Se estiver no ultimo elemento
                if(p->proximo == NULL){
    
                    //Faz ele acrescentar o novo valor e sair do while
                    p->proximo = novoValor;
                    return;
                }
    
                //Transforma o P no endereco do proximo valor
                //Caso o endereco seja NULL, estamos no fim da lista
                //E saimos do while
                p = p->proximo;
    
            }
    
        //Libera Memoria
        free(p);
        free(novoValor);
    
    }
    
    //Adiciona valor numa posicao especifica
    void adcPosicaoEncadeada(album *ponteiroEncadeada,string nome,int ano, int posicao){
    
        //Criar NODE com um valor
        album *novoValor = new album;
        novoValor->nome = nome;
        novoValor->ano = ano;
        novoValor->proximo = NULL;
    
        //Ponteiro Auxiliar
        album *p = ponteiroEncadeada;
    
        //Variavel que percorre a lista
        int i = 0;
    
        //Criar o auxiliar para Salvar o endereco em K-1 ->proximo
        while(i <= posicao){
    
            if(i == posicao-1){
    
                //Auxiliar do valor
                album *aux = new album;
    
                //Precisamos armazenar o endereco a ser apontado pelo novo node
                aux->proximo = p->proximo;
    
                //Fazendo o elemento K-1 apontar para o novo NODE
                p->proximo = novoValor;
    
                //Fazendo o novo NODE apontar para a auxiliar
                novoValor->proximo = aux->proximo;
    
                //Libera a Memoria
                free(aux);
    
            }
    
            //Analisa o proximo membro da lista
            p = p->proximo;
    
            //Contador de posiчѕes
            i++;
    
        }
    
    }
    
    //Remove o elemento inicial
    void removeInicioEncadeada(album *&ponteiroEncadeada, string *nome, int *ano){
    
        //Retorna o nome do removido
        *nome = ponteiroEncadeada->nome;
        *ano = ponteiroEncadeada->ano;
    
        //O ponteiroEncadeada recebe o endereo do proximo elemento,Agora o segundo elemento torna-se o ponteiroEncadeada
        ponteiroEncadeada=ponteiroEncadeada->proximo;
    
    }
    
    //Remove do final da lista
    void removeFinalEncadeada(album *&ponteiroEncadeada, string *nome, int *ano){
    
        //Auxiliares
        album *p = new album;
        album *aux = new album;
    
        //Se houver apenas um elemento na lista
        if(ponteiroEncadeada->proximo == NULL){
    
            //Recupera o nome e ano de quem saiu
            *nome = ponteiroEncadeada->nome;
            *ano = ponteiroEncadeada->ano;
    
            //Libera a Memoria do unico elemento e o deixa nulo
            free(ponteiroEncadeada);
            ponteiroEncadeada = NULL;
    
        }else{
    
            //Se houver mais de um elemento, nosso auxiliar p iguala-se ao ponteiroEncadeada
            p = ponteiroEncadeada;
    
            //Enquanto nao estiver no ultimo termo,o auxiliar torna-se o proximo
            //ate que o aux seja o penultimo elemento da lista
            while(p->proximo != NULL){
                aux = p;
                p=p->proximo;
            }
    
            //passa o valor do ultimo elemento para a variavel "valor"
            *nome = p->nome;
            *ano = p->ano;
    
            //Aqui, o aux representa o peultimo elemento da lista
            //Tornando-o o ultimo elemento da lista
            aux->proximo = NULL;
    
            //Este codigo щ para fazer a limpeza de memoria
            free(p);
    
        }
    }
    
    //Remove posiчуo especэfica
    void removePosicaoEncadeada(album *ponteiroEncadeada,string *nome,int *ano, int posicao){
    
        //Ponteiro Auxiliar
        album *p = ponteiroEncadeada;
    
        //Variavel que percorre a lista
        int i = 0;
    
        //Navega pela lista
        while(i <= posicao){
    
            //Caso tenha alcanчado a posicao desejada
            if(i == posicao-1){
    
                //Retorna os dados do usuario a ser removido
                *nome = p->nome;
                *ano = p->ano;
    
                //Auxiliar do valor
                album *aux = new album;
    
                //Precisamos armazenar o endereco a ser apontado pelo novo node
                aux = p->proximo;
    
                //Fazendo o elemento K apontar para o novo NODE (2 membros a frente)
                p->proximo = aux->proximo;
    
                //Libera a Memoria
                free(aux);
            }
    
            //Analisa o proximo membro da lista
            p = p->proximo;
    
            //Contador de posiчѕes
            i++;
        }
    
        free(p);
    }
    
    string retornaNomeEncadeada(album *&ponteiroEncadeada, int ano){
    
       //nome return
       string nome = "Nao existe";
    
       //ponteiro auxiliar
       album *p = ponteiroEncadeada;
    
       //le a lista
       while(p->proximo != NULL){
    
           if(p->ano == ano){
    
                nome = p->nome;
    
                return nome;
    
           }
            p = p->proximo;
       }
    return nome;
    }
    
    int main(){
    
        //Variсveis
        int funcaoDesejada = 1, tamanho;
    
        //Cria o inicio da lista Encadeada
        album *ponteiroEncadeada;
    
         //Manipula as listas
        while(funcaoDesejada < 10 && funcaoDesejada > 0){
    
            cout << "Operacoes \n";
            cout << "1 - Insira um album no inicio da lista \n";
            cout << "2 - Insira um album no fim da lista \n";
            cout << "3 - Insira um album na posicao N \n";
            cout << "4 - Retirar um album do inicio da lista \n";
            cout << "5 - Retirar um album no fim da lista \n";
            cout << "6 - Retirar um album na posicao N \n";
            cout << "7 - Procurar um album com o campo nome \n";
            cout << "8 - Imprimir a Lista. \n";
            cout << "9 - Sair do sistema. \n";
            cout << "10 - Help";
            cout << "\nEscolha um numero e pressione ENTER: \n";
    
            cout << "\nTamanho Atual[" << retornaTamanhoListaEncadeada(ponteiroEncadeada) << "]\n";
    
            imprimeEncadeada(ponteiroEncadeada);
    
            //Lъ a opчуo
            cin >> funcaoDesejada;
    
            //Limpa as opчѕes
            limpatela();
    
            //Variсveis para valores novos
            string nome;
            int ano, posicao,posicaoNaLista;
    
            //Alterna as Operacoes
            switch(funcaoDesejada){
    
                case 1:
    
                    //Cabecalho da acao
                    cout << "Funcao Escolhida: Insira um album no inicio da lista\n";
    
                    //Lendo valores do usuario
                    cout << "\nDigite o nome do album: ";
                    cin >> nome;
                    cout << "Digite o ano lancado: ";
                    cin >> ano;
    
                    //Adiciona no inicio
                    adcComecoEncadeada(ponteiroEncadeada, nome, ano);
    
                    //Exibe o usuario inserido
                    cout << "Album: " << nome << ",ano: " << ano << " adicionado ao inicio da lista)";
    
                    break;
    
                case 2:
    
                    //Cabecalho da acao
                    cout << "Funcao Escolhida: Insira um album no fim da lista\n";
    
                    //Lendo valores do usuario
                    cout << "\nDigite o nome: ";
                    cin >> nome;
                    cout << "Digite o ano: ";
                    cin >> ano;
    
                    if(retornaTamanhoListaEncadeada(ponteiroEncadeada) < 1){
    
                            //Adiciona ao inicio da Lista
                            adcComecoEncadeada(ponteiroEncadeada, nome, ano);
    
                    }else{
    
                            //Adiciona ao fim da Lista
                            adcFimEncadeada(ponteiroEncadeada, nome, ano);
                    }
    
                    //Exibe o usuario inserido
                    cout << "Usuario: "<< nome<< ",ano: "<< ano<< " adicionado ao final da lista("<< retornaTamanhoListaEncadeada(ponteiroEncadeada) << ")";
    
                    break;
    
                case 3:
    
                    //Cabecalho da acao
                    cout << "Funcao Escolhida: Insira um album na posicao N \n";
    
                    //Lendo valores do usuario
                    cout << "\nDigite a Posicao: ";
                    cin >> posicao;
                    cout << "Digite o album: ";
                    cin >> nome;
                    cout << "Digite o ano: ";
                    cin >> ano;
    
                    if(posicao == 0 ){
    
                        //Adiciona ao inicio da Lista
                        adcComecoEncadeada(ponteiroEncadeada, nome, ano);
    
                    }else if(posicao == retornaTamanhoListaEncadeada(ponteiroEncadeada) - 1){
    
                        //Adiciona ao fim da Lista
                        adcFimEncadeada(ponteiroEncadeada, nome, ano);
    
                    }else{
    
                        //Adiciona na posicao N da Lista
                        adcPosicaoEncadeada(ponteiroEncadeada,nome,ano, posicao);
    
                    }
    
                    //Exibe o album inserido
                    cout << "Album: " << nome << ",ano: " << ano << " adicionado na posicao "  <<  posicao  << " da lista.";
    
                    break;
    
                case 4: //Remove no inicio
    
                    if(retornaTamanhoListaEncadeada(ponteiroEncadeada) == 0){
                        cout << "Lista Vazia";
    
                    }else{
    
                        //Remove no inicio
                        removeInicioEncadeada(ponteiroEncadeada, &nome, &ano);
    
                        //Exibe o album removido
                        cout << "album: " << nome<< ",ano: " << ano << " foi removido do inicio";
                    }
    
                    break;
    
                case 5:
    
    
                    //Remove no final
                    removeFinalEncadeada(ponteiroEncadeada, &nome, &ano);
    
                    //Exibe o album removido
                    cout << "album: " << nome << ",ano: " << ano << " foi removido do final.";
    
                    break;
    
                case 6:
    
                    //Cabealho da acao
                    cout << "Funcao Escolhida: Remove um album na posicao escolhida\n";
    
                    cout << "Tamanho da Lista" << retornaTamanhoListaEncadeada(ponteiroEncadeada);
    
                    //Lendo valores do album
                    cout << "\nDigite a Posicao: ";
                    cin >> posicao;
    
                    if(posicao == 0){
    
                        //Remove no inicio
                        removeInicioEncadeada(ponteiroEncadeada, &nome, &ano);
    
                    }else{
    
                        //Remove na posicao N
                        removePosicaoEncadeada(ponteiroEncadeada, &nome, &ano, posicao);
    
                    }
    
                    //Exibe o album removido
                    cout << "album: "<< nome<< ",ano: "<< ano<< " foi removido da posicao" << posicao;
                    break;
    
                case 7:
    
                    //Cabecalho da acao
                    cout << "Funcao Escolhida: Retorna o nome e a posicao pelo nome\n";
    
                    //Lendo valores do album
                    cout << "Digite o ano: ";
                    cin >> ano;
    
    				cout << "O nome do ano:" << ano << " eh : " << retornaNomeEncadeada(ponteiroEncadeada, ano);
                    break;
    
                case 8:
    
                    imprimeEncadeada(ponteiroEncadeada);
    
                    break;
                case 9:
                	system("pause");
                case 10:
                	cout<<"Ola você entrou na ajuda. o progrma eh bem simples bem intuitivo com tudo explicado voce poderá listar quantos albuns desejar e ate modificar suas ordens do jeito que desejar imprimir retirar mudar o que for possivel :)";
    
            }
        }
    
        return 0;
    }

    Ola boa noite estou tentando desenvolver um codigo como cadastro de albuns e nome e o ano de lancamento mais mue ocdigo nao roda

     

     

    • Curtir 1
  5. 16 horas atrás, GuilhermeGB disse:

    Você terá que criar um função que "leia" todas os caracteres de cada um dos os nomes, identifique quais são vogais, faça a contagem a cada vogal encontrada, e armazene o resultado numa variável para comparação.

     

    //Elaborar um programa para receber 5 nomes e mostrar o nome que possui o maior número de caracteres e o nome que possui a maior quantidade de vogais.//biblio

     

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    //variaveis
    char nomes[5][41], nomeM[41], vogaismaiores[41];
    int i, j, contador=0;
    char vogais[] = "aeiouAEIOU";
    
    
    //Função principal
    main()
    {
        //repeticao entrada
        for(i=0; i<5; i++)
        {
            printf("Informe o nome: ");
            fflush(stdin);
            scanf("%40[^\n]", nomes);
        }
        
        //Comparacao de strings
        for(i=0; i<5; i++)
        {
            if(strcmp(nomes, nomeM) > 0)
            {
                strcpy(nomeM, nomes);
            }
        }
        for (i=0;i<5;i++)
        {
            if(strcmp(nomes, vogais) > 0)
            {
                strcpy(vogaismaiores, nomes);
            }
            
        }
        
        printf("O nome com mais caracteres: %s\n", nomeM);
        printf("\nO nome com mais vogais %s\n", vogaismaiores);
        system("pause");
    }

     

    algo assim ? n sei se deu certo

    • Obrigado 1
  6. Receber 5 nomes e mostrar o nome que possui o maior número de caracteres e o nome que possui a maior quantidade de vogais

    eu montei a parte de maior numero de caracteres mais nao consigo a maior quantidade de vogais se poderem me ajudar 

     

    <
    
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    //Declaração das variáveis 
    char nomes[5][41], maior[41];
    int i;
    
    
    //Função principal
    main()
    {
        //Estrutura de repetição para entrada de dados 
        for(i=0; i<5; i++)
        {
            printf("Informe o nome: ");
            fflush(stdin);
            scanf("%40[^\n]", nomes);
        }
        
        //Estrutura de repetição para comparar o tamanho das string 
        for(i=0; i<5; i++)
        {
            if(strcmp(nomes, maior) >= 0)
            {
                strcpy(maior, nomes);
            }
        }
        printf("o nome com maior quantidade de caracteres e: %s\n", maior);
        
        system("pause");
    }
    
    >

     

    • 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!