Привет У меня возникли проблемы с программой, которая получает текстовую строку, предоставленную пользователем, и делает 3 вещи:сохранение указателя обугленного на файл с C++
- Преобразовать все гласные заглавных букв, напечатать новый текст, а также распечатать количество преобразованных гласных.
- Сохраните новый текст в файл.
- Печатать текст преобразованного текста по символу.
Heres код
#include <stdio.h>
void convert(char *ptrQuote[80], int nvocals);
void save(char *ptrQuote[80]);
void print(char *ptrQuote[80]);
int main(int argc, char** argv) {
char quote[80];
char *ptrQuote[80];
int nvocals= 0;
printf("Enter your quote :\n");
scanf("%s", "e);
for(int i= 0; i<80; i++)
{
ptrQuote[i]= "e[i];
}
convert(ptrQuote, nvocals);
save(ptrQuote);
print(ptrQuote);
return 0;
}
void convert(char *ptrQuote[80], int nvocals)
{
for(int i=0; i<80; i++)
{
if(*ptrQuote[i]=='a')
{
*ptrQuote[i]='A';
nvocals ++;
}
if(*ptrQuote[i]=='e')
{
*ptrQuote[i]='E';
nvocals ++;
}
if(*ptrQuote[i]=='i')
{
*ptrQuote[i]='I';
nvocals ++;
}
if(*ptrQuote[i]=='o')
{
*ptrQuote[i]='O';
nvocals ++;
}
if(*ptrQuote[i]=='u')
{
*ptrQuote[i]='U';
nvocals ++;
}
}
printf("%s\n", *ptrQuote);
printf("Number of vocals: %d\n", nvocals);
}
void save(char *ptrQuote[80])
{
FILE *quote;
quote= fopen("quote.txt", "w");
fwrite(&ptrQuote[80], sizeof(*ptrQuote), 1, quote);
fclose(quote);
}
void print(char *ptrQuote[80])
{
for(int i=0; i<sizeof(*ptrQuote); i++)
{
printf("%c", *ptrQuote[i]);
}
}
Первая функция работает нормально, но когда речь идет о функции сохранения и печати он сохраняет и печатает цитаты неполных. Как видите, я работаю с указателями. Что я могу сделать? Благодарю.
В этой программе буквально нет кода на C++. Может ли это быть повторно помечено как C или вы намерены делать C++? – tadman
вы можете перестать работать с указателями и использовать строки вместо – user463035818
Я не понимаю цели 'ptrQuote'. Кажется, это просто указывает на каждый отдельный персонаж. –