Переведите на Си программку с С++ - C (СИ)

Узнай цену своей работы

Формулировка задачи:

вот программа, сделать ее нужно чисто на Си
#include "stdafx.h"
#include "conio.h"
#include "iostream"
#include "string"
using std::string;
 
struct myself
{
    string fullname;
    int age;
};
 
int setmyself(myself & f)
{
    std::cout<<"Enter fullname(enter to stop): ";
    if(getline(std::cin, f.fullname) && f.fullname != "")
    {
        std::cout<<"Enter age: ";
        std::cin>>f.age;
        std::cin.get();
        return 1;
    }
    else
        return 0;
}
 
int main()
{
    myself first;
    if(setmyself(first))
    {
        std::cout<<first.fullname<<"\n"<<first.age<<std::endl;
    }
    else
        std::cout<<"Nothing entered\n";
    getch();
    system("pause");
    return 0;
}
кто-нибудь подскажет?
проблема как убрать std:: , cin, cout, остальное все вроде норм

Решение задачи: «Переведите на Си программку с С++»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
 
struct myself
{
    char fullname[32];
    int age;
};
 
int setmyself(struct myself *f)
{
 char y;
 int i;
 
 i = 0;
 
 printf("Enter fullname(enter to stop): ");
 
 y = getchar();
 
 if (y == '\x0a')
 {
   return 0;
 }
 else
 {
  i++;
  f->fullname[0] = y;
  do
  {
     y = getchar();
     f->fullname[i] = y;
     i++;
  } while (y != '\x0a' && i<31);
  f->fullname[i-1] = '\0';
  printf("Enter age: ");
  scanf("%d", &(f->age));
  return 1;
 }
 
  return 0;
}
 
int main()
{
 struct myself first;
 if(setmyself(&first))
  printf("%s\n%d\n", first.fullname, first.age);
 else
  printf("Nothing entered\n");
 getch();
 system("pause");
 return 0;
}

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы для работы с консолью, строками и структурой
  2. Объявляем структуру myself с полями fullname типа char и age типа int
  3. Создаем функцию setmyself, которая заполняет поля структуры myself с помощью ввода с клавиатуры
  4. В функции main создаем экземпляр структуры myself и вызываем функцию setmyself для заполнения полей
  5. Выводим значения полей на экран
  6. Если поля были успешно заполнены, выводим их значения, иначе выводим сообщение об ошибке
  7. Завершаем программу с помощью системного вызова pause и команды return 0

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5