Jump to content

моля за помощ-програмиране на С++


Препоръчан пост

Имам курсова задача по програмиране на С++ което никак не разбирам.Не знам как да се справя. Ако някой може да помогне с програмата ще съм много благодарен.

 

Това е условието на задачата:

 

За група студенти са зададени ЕГН,фак.№, оценките по 10 дисциплини, среден успех.Да се създаде програма на С++, използваща подпрограми за:

  1. създаване на масив с информация за групата студенти, без да се въвежда среден успех;
  2. изчисляване на средния успех на всеки един от студентите;
  3. изчисляване на средния успех по първата дисциплина

 

 

 

 

 

 

 

 

 

Link to comment
Сподели другаде

Имам това трябва ми подпрограма за третото условие, не знам как да я направя/подпрограмата/

 

 

 

 

#include<stdio.h>
#include<stdlib.h>
struct student
{
       
       char ime[40];
       long fn;
       char egn[11];
       int ocenki[10];
};
student grupa[30],stud;
int st;
void vhod(student*stud)
{
     printf("Ime na studenta:");gets(stud->ime);
     printf("EGN na studenta:");gets(stud->egn);
     printf("Fak. N na studenta:");scanf("%ld",&stud->fn);
       for(int i=0;i<10;i++){
     printf("Vyvedete ocenka po disciplina N %d:",i+1);scanf("%d",&stud->ocenki);
     }
     getchar();
}
float sruspeh(int oc[10]){
      int sum=0;
      for(int j=0;j<10;j++)sum+=oc[j];
      return(float)sum/10;
      }
      int main(){
          do{
                 printf("Vyvedete broq na vsichki studenti:");scanf("%d",&st);getchar();
                 }while((st<1)||(st>30));
                 for(int i=0;i<st;i++)vhod(&grupa);
                 for(int i=0;i<st;i++)
                 printf("Sredniq uspeh na %s e:%2.1f\n",grupa.ime,sruspeh(grupa.ocenki));
                 printf("Vyvedete koito i da e simvol za krai na programata");scanf("%k");
}

Link to comment
Сподели другаде

Сигурен ли сте, че тази програма е писана на C++? Какво не разбирате? Събирате всички оценки в една променлива, слагате и една променлива указваща броя на оценките и просто делите. Щом знаете какво е указател, дефиниране на структура, цикъл с пред и постусловие и т.н., едва ли ще ви затрудни третата подточка.

Link to comment
Сподели другаде

Сигурен ли сте, че тази програма е писана на C++? Какво не разбирате? Събирате всички оценки в една променлива, слагате и една променлива указваща броя на оценките и просто делите. Щом знаете какво е указател, дефиниране на структура, цикъл с пред и постусловие и т.н., едва ли ще ви затрудни третата подточка.

Не съм сигурен дадоха ми я от готова курсова работа при която третото условие е различно от моето, просто изрязах излишното. Ако можех и разбирах от програмиране щях сам да си я направя нямаше да моля за помощ някой друг, но явно никой няма да се отзове.

Link to comment
Сподели другаде

Ами ако наистина ви я искат на C++, то горната курсова едва ли ще мине. Принципа обаче е същия, тоест черната работа е свършена, единственото, което трябва да се направи е да се "сглоби" със синтаксиса на C++. Надявам се, че правите разлика между C и C++, тъй като са съвсем различни езици. Пак питам, какво точно не е ясно - как се прави подпрограма, какъв е алгоритъма за смятане или нещо друго?  С удоволствие ще помогна, но ако положите усилия, за да си заслужите оценката! Сам разбирате, че някои хора ще седят и ще си направят нещата изцяло сами, ще получат 3 или 4, на вас някой ще ви напише курсовата и ще получите 5 или 6. Някак си не е честно.

Link to comment
Сподели другаде

Ами ако наистина ви я искат на C++, то горната курсова едва ли ще мине. Принципа обаче е същия, тоест черната работа е свършена, единственото, което трябва да се направи е да се "сглоби" със синтаксиса на C++. Надявам се, че правите разлика между C и C++, тъй като са съвсем различни езици. Пак питам, какво точно не е ясно - как се прави подпрограма, какъв е алгоритъма за смятане или нещо друго?  С удоволствие ще помогна, но ако положите усилия, за да си заслужите оценката! Сам разбирате, че някои хора ще седят и ще си направят нещата изцяло сами, ще получат 3 или 4, на вас някой ще ви напише курсовата и ще получите 5 или 6. Някак си не е честно.

Всичко не е ясно.Без курсова в Русенския университет не допускат на изпит.А относно оценката не ми пука колко ще ми пишат важното е да вземем изпита . Нямам намерение да го работя това аз съм се утвърдил в сферата в която работя с над 20 годишен стаж.

Link to comment
Сподели другаде

Тази примерна курсова работа е писана на C, сигурен ли сте, че ви трябва да е написана на C++? Както вече казах, това са два напълно различни езика.

 

EDIT - сега ми остана малко време и реших да погледна кода. Оказа се, че имаше доста грешки, които изчистих. За да се компилира правилно на GCC се налага да се компилира с флаг -std=c99

Прикачам оправения код, като оставям на вас да проверите дали работи и смята коректно.

По принцип би трябвало асистентите да се "заяждат" за валидацията на входните данни, така че, след като се направи курсовата работа е добре да се прави и такава валидация за входни данни.

#include<stdio.h>
#include<stdlib.h>
typedef struct student
{
       
       char ime[40];
       long fn;
       char egn[11];
       int ocenki[10];
}student;
student grupa[30],stud;
int st;
void vhod(student*stud)
{
     printf("Ime na studenta:");gets(stud->ime);
     printf("EGN na studenta:");gets(stud->egn);
     printf("Fak. N na studenta:");scanf("%ld",&stud->fn);
       for(int i=0;i<10;i++){
     printf("Vyvedete ocenka po disciplina N %d:",i+1);scanf("%d",&stud->ocenki[i]);
     }
     getchar();
}
float sruspeh(int oc[10]){
      int sum=0;
      for(int j=0;j<10;j++)sum+=oc[j];
      return(float)sum/10;
      }
      int main(){
          do{
                 printf("Vyvedete broq na vsichki studenti:");scanf("%d",&st);getchar();
                 }while((st<1)||(st>30));
                 for(int i=0;i<st;i++)vhod(&grupa[i]);
                 for(int i=0;i<st;i++)
                 printf("Sredniq uspeh na %s e:%2.1f\n",grupa[i].ime,sruspeh(grupa[i].ocenki));
                 printf("Vyvedete koito i da e simvol za krai na programata");scanf("%k");
}
Link to comment
Сподели другаде

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...
×
×
  • Създай ново...