Fala galera, to com um programa pra entregar seg na facul em C++, só que to tendo problemas...
preciso fazer um programa seguindo isso...
Exercício - Ponteiros
Receber por digitação uma string de até 20 caracteres num vetor de caracteres local à função main. Em seguida, visualizar um menu com as seguintes de opções:
1 – Converter os caracteres para maiúsculos
2 – Converter os caracteres para minúsculos
3 – Criptografar as vogais
4 – Descriptografar as vogais
5 – Substituir uma letra
6 – Visualizar o vetor
7 – Receber nova string
8 – Sair do programa
Ao receber uma opção, chamar uma função específica criada para realizar a operação, a qual deverá receber como parâmetro o endereço do vetor, pois toda a alteração feita deverá ocorrer no próprio vetor.
Para a opção 5, considerar também o envio da letra a ser substituída e da que irá substituir, também, como parâmetros.
Para a operação de criptografar vogais, considerar a seguinte proposta de conversão:
a → e
e → i
i → o
o → u
u → a
Para a operação de descriptografar vogais, considerar a seguinte proposta de conversão:
a → u
e → a
i → e
o → i
u → o
Observações:
- Conversão para maiúsculas: função toupper (char) Biblioteca: <ctype.h>
- Conversão para minúsculas: função tolower (char) Biblioteca: <ctype.h>
Não to conseguindo fazer os menus 1 à 5, não consigo modificar o vetor, da erro como 'ISO C++ forbids comparison between pointer and integer'
o que eu fiz ate agora ta assim...
=-=-=-=-=-=-=-=-=-=-=-=-=-
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
#include <iostream.h>
#include <stdlib.h>
typedef char string [40];
string *letras[20];
int menu1();
int menu2();
int menu3();
int menu4();
int menu5();
int menu6();
int menu7();
int menu8();
int main ()
{
int i, menu;
system ("color C");
for (i=0;i<20;i++)
{
printf ("Digite a letra na casa %d do vetor: ", i+1);
scanf ("%s", &letras);
}
do
{
printf ("\n\n\n Digite o numero desejado referente ao menu: \n");
printf ("\n 1 - Converter os caracteres para maiusculos \n");
printf (" 2 - Converter os caracteres para minusculos \n");
printf (" 3 - Criptografar as vogais \n");
printf (" 4 - Descriptografar as vogais \n");
printf (" 5 - Substituir uma letra \n");
printf (" 6 - Visualizar o vetor \n");
printf (" 7 - Receber nova string \n");
printf (" 8 - Sair do programa \n\n\n");
scanf ("%d", &menu);
if (menu == 1)
menu1 ();
if (menu == 2)
menu2 ();
if (menu == 3)
menu3 ();
if (menu == 4)
menu4 ();
if (menu == 5)
menu5 ();
if (menu == 6)
menu6 ();
if (menu == 7)
menu7 ();
}
while ((menu != 8) || (menu < 1) || (menu > 8));
printf ("Programa Encerrado");
for (i=0;i<20;i++)
getch ();
return 0;
}
int menu1 ()
{
}
int menu2 ()
{
}
int menu3 ()
{
}
int menu4 ()
{
}
int menu5 ()
{
int i;
char busc, subs;
printf ("Qual letra já existente deseja substituir?");
scanf ("%c", &busc);
printf ("Digite uma letra para substituir a letra antiga");
scanf ("%c", &subs);
for (i=0;i<20;i++)
{
if (letras == busc)
letras = subs;
}
}
int menu6 ()
{
int i;
printf ("Opcao 6 - [Visualizar o vetor]\n\n");
for (i=0;i<20;i++)
{
printf ("%s", letras);
}
printf ("\n\nVetor visualizado com sucesso!\n\n");
}
int menu7 ()
{
int i;
printf ("Opcao 7 - [Receber nova string]\n\n");
for (i=0;i<20;i++)
{
printf ("Digite a letra na casa %d do vetor: ", i+1);
scanf ("%s", &letras);
}
printf ("\nNova string recebida com sucesso!\n\n");
}
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Se alguém puder me ajudar... ficarei eternamente grato!...
Pergunta
Zualdo
Fala galera, to com um programa pra entregar seg na facul em C++, só que to tendo problemas...
preciso fazer um programa seguindo isso...
Não to conseguindo fazer os menus 1 à 5, não consigo modificar o vetor, da erro como 'ISO C++ forbids comparison between pointer and integer'
o que eu fiz ate agora ta assim...
=-=-=-=-=-=-=-=-=-=-=-=-=-
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
#include <iostream.h>
#include <stdlib.h>
typedef char string [40];
string *letras[20];
int menu1();
int menu2();
int menu3();
int menu4();
int menu5();
int menu6();
int menu7();
int menu8();
int main ()
{
int i, menu;
system ("color C");
for (i=0;i<20;i++)
{
printf ("Digite a letra na casa %d do vetor: ", i+1);
scanf ("%s", &letras);
}
do
{
printf ("\n\n\n Digite o numero desejado referente ao menu: \n");
printf ("\n 1 - Converter os caracteres para maiusculos \n");
printf (" 2 - Converter os caracteres para minusculos \n");
printf (" 3 - Criptografar as vogais \n");
printf (" 4 - Descriptografar as vogais \n");
printf (" 5 - Substituir uma letra \n");
printf (" 6 - Visualizar o vetor \n");
printf (" 7 - Receber nova string \n");
printf (" 8 - Sair do programa \n\n\n");
scanf ("%d", &menu);
if (menu == 1)
menu1 ();
if (menu == 2)
menu2 ();
if (menu == 3)
menu3 ();
if (menu == 4)
menu4 ();
if (menu == 5)
menu5 ();
if (menu == 6)
menu6 ();
if (menu == 7)
menu7 ();
}
while ((menu != 8) || (menu < 1) || (menu > 8));
printf ("Programa Encerrado");
for (i=0;i<20;i++)
getch ();
return 0;
}
int menu1 ()
{
}
int menu2 ()
{
}
int menu3 ()
{
}
int menu4 ()
{
}
int menu5 ()
{
int i;
char busc, subs;
printf ("Qual letra já existente deseja substituir?");
scanf ("%c", &busc);
printf ("Digite uma letra para substituir a letra antiga");
scanf ("%c", &subs);
for (i=0;i<20;i++)
{
if (letras == busc)
letras = subs;
}
}
int menu6 ()
{
int i;
printf ("Opcao 6 - [Visualizar o vetor]\n\n");
for (i=0;i<20;i++)
{
printf ("%s", letras);
}
printf ("\n\nVetor visualizado com sucesso!\n\n");
}
int menu7 ()
{
int i;
printf ("Opcao 7 - [Receber nova string]\n\n");
for (i=0;i<20;i++)
{
printf ("Digite a letra na casa %d do vetor: ", i+1);
scanf ("%s", &letras);
}
printf ("\nNova string recebida com sucesso!\n\n");
}
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Se alguém puder me ajudar... ficarei eternamente grato!...
Editado por ZualdoLink para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.