Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Bernardo Nunes

C++ Erro Em apagar nome

Recommended Posts

Olá a todos. Estou a realizar um programa em C++ para a escola e estou a ter um erro que persiste em aparecer que se encontra na linha 158 [Error] comparison between distinct pointer types 'char (*)[20]' and 'char*' lacks a cast [-fpermissive]. Envio agora o codigo:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<locale.h>
int idades()
{
    system("cls");
    int r=5;
    int idades[r];
    int escolha2, escolha3, i, x, j, posicao, tamanho, encontrado;
    do
    {
    printf("\n1-inserir idades\n2-Listar\n3-Pesquisar\n4-Ordenar\n5-Eliminar\n6-Estatistica\n7-Regressar ao menu");
    printf("\n\n Escolha uma opcao: ");
    scanf("%d",&escolha2);
    system("cls");
    switch (escolha2)
    {
        case 1:
            {
                for(i=0;i<r;i++)
                {
                    printf("Introduza a %d idade: ",i+1);//aqui na coisa dos nomes no case 2 e 3.
                    scanf("%d",&idades[i]);
                }
                system("cls");
                break;
            }
        case 2:
            {
                for(i=0;i<r;i++)
                {
                    printf("%d\n",idades[i]);
                }
                sleep(5);
                system("cls");
                break;
            }
        case 3:
            {
                printf("Introduza a idade que dejesa procurar: ");
                scanf("%d",&x);
                i=0;
                encontrado=0;
                do
                {
                    if (idades[i]==x)
                    {
                        encontrado=1;
                        posicao=i+1;
                        break;
                    }
                    i++;
                    }while(i < r && encontrado==0);
                    if (encontrado==1)
                    {
                        printf ("Idade encontrada na posição: %d\n",posicao);
                    }
                    else if(encontrado!=1)

                    {
                        printf ("Idade não encontrada\n");
                    }
                    sleep(5);
                    system("cls");
                    break;        
                }
            }
        }while(escolha2!=7);
}
int nomes()
{
    system("cls");
    int N;
    int r=5;
    char nomes[r][20];
    char x[1][20];
    int escolha2, i,posicao,j, tamanho, encontrado, eliminar;
    do
    {
        printf("\n1-Inserir nome\n2-Listar\n3-Pesquisar\n4-Ordenar\n5-Eliminar\n6-Regressar a Menu");
        printf("\n\n Escolha uma opcao: ");
        scanf("%d",&escolha2);
        system("cls");
            switch (escolha2)
            {
            case 1:
                {
                    system("cls");
                    for(i=0;i<r;i++)
                    {
                        for(j=0;j<1;j++)
                        {
                            printf("Introduza o %d nome: ",i+1);
                            scanf("%s",&nomes[i][j]);
                        }
                    }
                    system("cls");
                    break;
                }
                case 2:
                {
                    for (i=0;i<r;i++)
                    {
                        N=strlen(nomes[i]);//define o tamanha da string
                        printf("\n");
                        for (j=0;j<N;j++)
                        {
                            printf("%c",nomes[i][j]);
                        }
                    }
                    sleep(5);
                    system("cls");
                    break;
                }
                case 3:
                {
                    printf("Introduza o nome que dejesa procurar: ");
                    scanf("%s",&x);
                    i=0;
                    encontrado=0;
                    do
                    {
                         if (strcmp(nomes[i],x[0])==0)//compara os dois nomes
                        {
                            encontrado=1;
                            posicao=i+1;
                            break;
                        }
                        i++;
                    }while(i < r && encontrado==0);
                    if (encontrado==1)
                    {
                        printf ("Nome encontrado na posição: %d\n",posicao);
                    }
                    else
                    {
                        printf ("Nome não encontrado\n");
                    }
                    sleep(5);
                    system("cls");
                    break;        
                }
               case 5: //Eliminar nota da tabela
                {
                    
                // Introduzir nome (x) a apagar se existir    
                printf("Introduza o nome que deseja eliminar: ");
                scanf("%s",&x);
                  
                // Verificar se o nome existe e em que posição do Array nomes
                int pos; // posição do nome x se encontrado
                eliminar = 0;
                for(i=0;i<r;i++)
                {
                 printf("\n %s - %s", nomes[i], x);
                if (x == nomes[i])
                {
                    pos = i;
                    eliminar = 1;
                    printf(" Nome encontrado na posição: %d", pos);
                }
                }
                // Eliminar nome (x) se existe no array nomes (eliminar == 1)
                if (eliminar == 1 )
                {
                for(i=pos;i<(r);i++)     
                    {
                        nomes[i] == nomes[i+1];
                    }
                r = r - 1;    
                printf (" Aviso o nome x foi eliminado da tabela nomes ....");
                }  
                else
                {    
                printf(" Aviso --- o nome x não existe no Array nomes");
                }  
                sleep(5);
                system("cls");
                break;
            }
            }
        }while(escolha2!=6);
}
int notas()
{
   system("cls");
    int r=5;
    float x;
    float nota[r];
    int escolha2,escolha3, i, encontrado, posicao, eliminar;
    do
    {
    system("cls");
    printf("\n1-Inserir notas\n2-Listar\n3-Pesquisar\n4-Eliminar\n5-Estatistica\n6-Regressar a Menu");
    printf("\n\n Escolha uma opcao: ");
    scanf("%d",&escolha2);
    system("cls");
    switch (escolha2)
    {
        case 1:
            {
                for(i=0;i<r;i++)
                {
                    printf("Introduza a %d nota: ",i+1);
                    scanf("%f",&nota[i]);
                }
                system("cls");
                break;
            }
            case 2:
            {
                for(i=0;i<r;i++)
                {
                    printf("%.2f\n",nota[i]);
                }
                sleep(5);
                system("cls");
                break;
            }
        case 3:
            {
                printf("Introduza a nota que dejesa procurar: ");
                scanf("%f",&x);
                i=0;
                encontrado=0;
                do
                {
                    if (nota[i]==x)
                    {
                        encontrado=1;
                        posicao=i+1;
                        break;
                    }
                    i++;
                    }while(i < r && encontrado==0);
                    if (encontrado==1)
                    {
                        printf ("Nota encontrada na posição: %d\n",posicao);
                    }
                    else if(encontrado!=1)

                    {
                        printf ("Nota não encontrada\n");
                    }
                    sleep(5);
                    system("cls");
                    break;        
                }
                case 4: //Eliminar nota da tabela
                {
                    
                // Introduzir nota (x) a apagar se existir    
                  printf("Introduza a nota que deseja eliminar: ");
                  scanf("%f",&x);
                  
                // Verificar se a nota existe e em que posição do Array notas
                int pos; // posição da nota x se encontrada
                eliminar = 0;
                for(i=0;i<r;i++)
                {
                 printf("\n %f - %f", nota[i], x);
                if (x == nota[i])
                {
                    pos = i;
                    eliminar = 1;
                    printf(" Nota encontrada na posição: %d", pos);
                }
                }
                // Eliminar nota (x) se existe no array notas (eliminar == 1)
                if (eliminar == 1 )
                {
                for(i=pos;i<(r);i++)     
                    {
                        nota[i] = nota[i+1];
                    }
                r = r - 1;    
                printf (" Aviso a nota x foi eliminada da tabela notas ....");
                }  
                else
                {
                printf(" Aviso --- a nota x não existe no Array notas");
                }  
                sleep(5);
                system("cls");
                break;
            }
        case 5:
            {
                do
                {
                system("cls");
                    printf("\n 1 - Numero de alunos\n 2 - Numero de notas positivas\n 3 - Numero de notas negativas\n 4 - Nota mais elevada\n 5 - Nota mais baixa\n 6 - Media das notas por aluno\n 7 - Media das notas por modulo\n 8 - Media das notas\n 9 - Regressar a Menu");
                    printf("\n\n Escolha uma opcao: ");
                    scanf("%d",&escolha3);
                    switch (escolha3)
                    {
                        case 1:
                            {
                            }
                    }
                }while(escolha3!=9);
            }
       }
}while(escolha2!=6);
}
int main()
{
    int escolha, i, x;
    setlocale(LC_ALL,"");
    while (escolha!=4)
    {
        system("cls");
        printf("\n 1 - Idades ");
        printf("\n 2 - Nomes ");
        printf("\n 3 - Notas ");
        printf("\n 4 - Fechar Programa ");
        printf("\n\n Escolha uma opcao: ");
        scanf("%d",&escolha);
        if( escolha==4)
        {
            printf("\n O Programa foi fechado.\n\n");
            system ("\n\npause");
        }  
        if(escolha==1)
        {
            idades();
        }
        if(escolha==2)
        {
            nomes();
        }
        if(escolha==3)
        {
            notas();
        }
    }
    return 0;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×