Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Задача на С (с масив и с файл)

Featured Replies

Здравейте трябват ми две програмки за курсовата ми работа по програмиране.

Двете са почти еднакви...така мисля.

Първата е:

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

- създаване на масив с информация за група студенти, без да се въвежда среден успех;

- изчисляване на средния успех на всеки един от студентите;

- изчисляване на средния успех по първата дисциплина;

И втората е почти същата, само че с файл:

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

- създаване на файл с информация за група студенти, без да се въвежда среден успех;

- изчисляване на средния успех на всеки един от студентите;

- изчисляване на средния успех по първата дисциплина;

Oт лейциите имам нахвърляни неща, но не ми се отдава да ги свържа. Ще ги напиша по-късно днес и ще ги постна днес. Вярно "до никъде" съм. Просто искам с взаимни усилия да ги направя.

Моля, ударете едно рамо.

Тъй като са елементарни за 50 лв ше ти ги направя и двете.

  • Автор

Тъй като са елементарни за 50 лв ше ти ги направя и двете.

Довечера ще пусна какво мога да направя аз. И ако може някой да ми обясни по-нататък как се прави. Защото някои от точките не са ми много ясни.

  • 3 седмици по-късно...
  • Автор

Това би трябвало да е първата нали ?

#include <iostream>

#include <conio>

int main ()

{

   char ime[100];

   int n,k;

   float egn[100],no[100],oce[10][50],P,K,K1,P1;

   cout<<"Vuvedete broq na studentite "; cin>>n;

   for (int i=0;i<n;i++)

   {

      cout<<"Vuvedete informacuq za "<<(i+1)<<" student: "<<endl;

      cout<<"Ime: "; cin>>ime;

      cout<<"Egn: "; cin>>egn[n];

      cout<<"Nomer: "; cin>>no[n];

      K=0; P=0;

      for (int z=0;z<10;z++)

      {

         cout<<"Vuvedete broq ocenki po "<<(z+1)<<" disciplina:"; cin>>k;

         cout<<"Vuvedete ocenki po "<<(z+1)<<" disciplina:"<<endl;

         K=K+k;

         for (int z1=0;z1<k;z1++)

         {

            cin>>oce[z][z1]; P=P+oce[z][z1];

            if (z==0) { P1=P; K1=k; }

         }

      }

      cout<<"Sreden uspeh po 1va disciplina: "<<(P1/K1)<<endl;

      cout<<"Sreden uspeh: "<<(P/K)<<endl;

   }

   getch ();

   return 0;

}
А на втората с файла от тук от там скалъпих това:
#include <stdio.h>

#include <conio.h>

struct student{

 char ime[31]; char EGN[11]; long FN; int oc[10];float sru;

};

FILE *fp;

char fime[31];

student stud;

// vuvejdane na 1 sudent

void readStud(student *st) {

         int i;

         printf("ime:");gets(st->ime);

         printf("egn:");gets(st->EGN);

         printf("fak.nomer:");scanf("%ld",&st->FN);

         printf("ocenki po 10 disiplini\n");

         for (i=0;i< 10;i++){

         printf("Po %d-a disciplina:",i+1);scanf("%d",&st->oc[i]);

         }

         int j,s=0;

          for(j=0;j<10;j++) s+=st->oc[j];

          st->sru=s/10.0;

          getchar();

          }


  //izvejdane na studenti

 void writeStud(student st) {

          int i;

printf("ime: %s\n",st.ime);

printf("egn: %s\n",st.EGN);

printf("fak.nomer:%06ld\n",st.FN);

printf("Ocenki: ");

for (i=0;i<10;i++) printf("%d ",st.oc[i]);

printf("\n");

printf("Sreden uspeh: %4.2f\n",st.sru);

}


// suzdavane na fail

void sazdaj(){

         fp=fopen(fime,"w");fclose(fp);

         printf("failut e suzdaden!\n");

         }

 //dobavqne kym failut  

void dobavi (){  

        fp=fopen(fime,"a+b");

        char ch;

        do {

           readStud(&stud);

           fwrite(&stud,sizeof(stud),1,fp);

           printf("o6te (d/n)?");ch=getchar();getchar();

           }while (ch!='n');

           fclose (fp);

           }

void spisukall() {

          int k=0;

          fp = fopen(fime,"rb");

          fread(&stud,sizeof(stud),1,fp);

          while (!feof(fp)) {

                        writeStud(stud);

                        k++;

                        fread(&stud,sizeof(stud),1,fp);

                        }

                        fclose(fp);

                        printf("Namereni: %d\n",k);

                        }

  //glavna programa

  main () {

         char otg[3];

         printf("zadaite ime na failut:");gets(fime);

         do {

                 printf("   Menu\n");

                 printf("   1. Suzdavane na prazen fail\n");

                 printf("   2. Dobavqne kum failut\n");

                 printf("   3. Obsht spisuk\n");


                 printf(" Izbor (0-za krai): ");gets(otg); 

                 switch (otg[0]) {

                   case '1':sazdaj();break;      

                   case '2':dobavi();break; 

                   case '3':spisukall();break;


                           }

                   }while (otg[0]!='0');

  }

Редактирано от rusimc (преглед на промените)

Това би трябвало да е първата нали ?

#include <iostream.h>

#include <conio.h>


int main ()

{

   char ime[100];

   int n,k;

   float egn[100],no[100],oce[10][50],P,K,K1,P1;

   cout<<"Vuvedete broq na studentite: "; cin>>n;

   for (int i=0;i<n;i++)

   {

      cout<<"Vuvedete informacuq za "<<(i+1)<<" student: ";

      cout<<"Ime: "; cin>>ime;

      cout<<"Egn: "; cin>>egn[n];

      cout<<"Nomer: "; cin>>no[n];

      K=0; P=0;

      for (int z=0;z<2;z++)

      {

         cout<<"Vuvedete broq ocenki po "<<(z+1)<<" disciplina:"; cin>>k;

         cout<<"Vuvedete ocenki po "<<(z+1)<<" disciplina:"<<endl;

         K=K+k;

         for (int z1=0;z1<k;z1++)

         {

            cin>>oce[z][z1]; P=P+oce[z][z1];

            if (z==0) { P1=P; K1=k; }

         }

      }

      cout<<"Sreden uspeh po 1va disciplina: "<<(P1/K1)<<endl;

      cout<<"Sreden uspeh: "<<(P/K)<<endl;

   }

   getch ();

   return 0;

}

лека редакция

Регистрирайте се или влезете в профила си за да коментирате

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.