С++ Как запустить программу?

118
17 июня 2019, 21:40

Задача

Написать программу обработки файла, содержащего информацию о рейтинге студентов. Каждая запись должна содержать Ф.И.О. и полученный балл рейтинга. Вывести информацию, отсортированную в порядке увеличения рейтинга. Результаты выполнения программы сохранить в текстовом файле. При работе с файлом должны быть выполнены следующие действия: создание, просмотр, добавление новой записи, сортировка, сохранение результатов.

Код программы:

#include <stdio.h>
#include <io.h>
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <fstream>
using namespace std;
struct TZap{
     char FIO[30];
     double s_b;
     } Zap;
int size = sizeof(TZap);
FILE *Fz, *Ft;
char File_Zap[] = "zapisi.dat";
char File_Rez[] = "rezult.txt";
void Out(TZap);
int void main(int argc, char** argv[])
{
    int kod, D_f, i=0, j, kol;
    long len;
    TZap st, *mas_Z;
Ft = fopen(File_Rez, "w");
    while(true) {
            puts("\n Create - 1\n Add - 2\n View - 3\n Sort - 4\n EXIT - 0");
            scanf("%d", &kod);
            switch(kod) {
                case 1:
                        if ((Fz=fopen(File_Zap,"wb"))==NULL)  {
                                puts("\n Create ERROR!");
                                return;
                        }
                    fclose(Fz);
                    printf("\n Create New File %s !\n",File_Zap);
                break;
                case 2:
                        Fz = fopen(File_Zap,"ab");
                        printf("\n F.I.O. - ");
                        fflush(stdin);      
                gets(Zap.FIO);
                        printf(" Ball - ");     
                scanf("%lf", &Zap.s_b);
                        fwrite(&Zap, size, 1, Fz);
                        fclose(Fz);
                break;
                case 3:
                    if ((Fz=fopen(File_Zap,"rb"))==NULL)  {
                                puts("\n Open ERROR!");
                                return;
                        }
                        printf("\n\t--------- Informations ---------");
                        fprintf(Ft,"\n\t--------- Informations ---------");
                        while(1) {
                            if(!fread(&Zap,size,1,Fz)) break;
                                Out(Zap);
                        }
                        fclose(Fz);
                break;
                case 4:
                        Fz = fopen(File_Zap,"rb");
                        D_f = fileno(Fz);
                len = filelength(D_f);
                kol = len/size;
                mas_Z = new TZap[kol];
                    for (i=0; i < kol; i++)         
                            fread((mas_Z+i), size, 1, Fz);
                    fclose(Fz);
                            printf("\n\t----- S O R T -----\n");
                            fprintf(Ft,"\n\t----- S O R T -----\n");
                            for (i=0; i < kol-1; i++)
                                    for (j=i+1; j < kol; j++)
                                            if (mas_Z[i].s_b > mas_Z[j].s_b) {
                                                st = mas_Z[i];
                                                mas_Z[i] = mas_Z[j];
                                                mas_Z[j] = st;
                                            }
                            for (i=0; i<kol; i++)  
                        Out(mas_Z[i]);
                        delete []mas_Z;
                        break;
                case 0:
                        fclose(Ft);
                        return;
            }
  }
}
void Out(TZap z)
{
     printf("\n %20s , %6.3lf .", z.FIO,z.s_b);
     fprintf(Ft, "\n %20s , %6.3lf .", z.FIO, z.s_b);
}

Ошибка №1

E:\CProjects\1\main.cpp [Error] two or more data types in declaration of 'main' E:\CProjects\1\Makefile.win recipe for target 'main.o' failed

Ругается вот на эту строку:

int void main(int argc, char** argv[])

Ошибка №2

E:\CProjects\1\main.cpp In function 'int main()':

E:\CProjects\1\main.cpp [Error] return-statement with no value, in function returning 'int' [-fpermissive]

E:\CProjects\1\main.cpp [Error] return-statement with no value, in function returning 'int' [-fpermissive]

E:\CProjects\1\main.cpp [Error] return-statement with no value, in function returning 'int' [-fpermissive]

E:\CProjects\1\Makefile.win recipe for target 'main.o' failed

Ругается на return

Answer 1

Само собой - вы говорите примерно "а это моя левая правая рука".

В случае main, к счастью, выбора никакого нет - main возвращает int и только int.

Так что уберите из этой строки void.

Далее, второе аргумент - или char*argv[], или char**argv, но не ваш вариант. Выберите что-то одно.

Потом - все return в функции main обязаны возвращать значения. Какие - ваше дело. Обычно это код ошибки; если выход штатный и ошибок нет - return 0.

Потом, забудьте про функцию gets! Считайте, что ее нет в стандарте (а ее по большому счету там и нет...) fgets из stdin или gets_s, но не gets!

Если будет ругань из-за переменной size - VC++ 2017 ругается - то укажите в тексте явно, что вы обращаетесь к глобальной переменной, написав вместо size - ::size.

Это так, для начала...

READ ALSO
Отправка данных на сервер | Android, Java

Отправка данных на сервер | Android, Java

Необходимо реализовать отправку данных на http серверКак это можно реализовать на java, в android приложении?

109
OpenJFX 11 + Eclipse

OpenJFX 11 + Eclipse

Доброго времени суток!

127
Как отправить сообщение в группу VK api?

Как отправить сообщение в группу VK api?

пытаюсь отправить сообщение в группу через Api Vk Android , но сообщение не отправляется, авторизация есть, стена у группы открыта

172