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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

Помощ за задачи по C++

Featured Replies

-

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

здравейте спешно се нуждая от помощ за курсовата ми по Програмиране на C++: Задачата е следната : За коли в автосалон са зададени марка, регистрационен номер ,код , модел ,цена , година на производство ,пробег ,вид гориво ,наличие на климатик, цвят. Да се състави програма ,която съхранява данните във файл и избира следните операции от меню:  а ето докъде съм стигнал аз

#include <stdio.h>

#include <string.h>
#include <stdlib.h>
  struct Kola{
char marka[16];
char regNom[8];
int kod,godPr;
char model[16],vidgorivo[10],klimatik[6],cvqt[11];
float cena,probeg;
  };
  FILE*fl;
    char imefl[15];
  Kola kola;
  void readKola(Kola*kol){
 printf("%20sVavedi marka");
 gets(kol->marka);
 printf("%20sVavedi model");
 gets(kol->model);
 printf("%20sVavedi vid gorivo");
 gets(kol->vidgorivo);
 printf("Nalichie na klimatik Da ili Ne");
 scanf(kol->klimatik);
 printf("%20sVavedi registracionen nomer");
 gets(kol->regNom);
 printf("%20sVavedi cena");
 scanf("%f",&kol->cena);
 printf("%20sVavedi kod");
 scanf("%d",kol->kod);
 printf("Vavedi godina na proizvodstvo");
 scanf("%d",&kol->godPr);
 printf("%20sVavedi cvqt");
 gets(kol->cvqt);
 printf("%20sVavedi probeg");
 scanf("%f",&kol->probeg);
  }
   void writeKola(Kola*kol){
  printf("Marka: %-61s,model: %-41s ,vid gorivo: %21s,registracionen nomer: %s, klimatik: %s, cena: %f, probeg: %f, cvqt: %s, kod: %d",&kol->marka,&kol->model,&kol->vidgorivo,&kol->regNom,&kol->klimatik,&kol->probeg,kol->cvqt,kol->kod);
   }
   int exist(char *ime){
  FILE *f=fopen(ime,"r");
  fclose(f);
  return f!=NULL;
   }
   //funkciq za suzdavane na prazen fail
   void SzdPrz(){
  char ch;
  if (exist(imefl)){
  printf("Failyt syshtestvuva !");
  printf("Da go prezapisha li?");
  ch=getchar();
  if(ch=='n') return;
  }
  fl=fopen(imefl,"w");
  fclose(fl);
  printf("Failyt e syzdaden !n");
   }
   //funkciq za dobavqne na komponenti kym faila
   void dobavqne(){
  char ch;
  if(!exist(imefl)){
  printf("Failyt ne e syzdaden ! n");return;
  }
  fl=fopen(imefl,"a+b");
  do{
  readKola(&kola);
  fwrite(&kola,sizeof(kola),1,fl);
  printf("Shte prodyljite li vyvejdaneto? ");
  ch=getchar();getchar();
  }
  while(ch!='n');fclose(fl);
   }
   void iztrivane(){ 
 FILE *delFl; //Помощен файл, за изтриването
 char regNom[8]; //Регистрационен номер за изтриване
 if (!exist(imefl)) { 
 printf("Файлът не e създаден!n");return; 
 } 
 printf("Vyvedete registracionen nomer: ");gets(regNom); 
 fl=fopen(imefl,"rb");delFl=fopen("Del","wb"); 
 fread(&kola,sizeof(kola),1,fl); 
 while (!feof(fl)){ 
if (strcmp(kola.regNom,regNom)!=0) 
 fwrite(&kola,sizeof(kola),1,delFl); 
else printf("Danni za registracionen nomer %s изтрити.n",regNom); 
 fread(&kola,sizeof(kola),1,fl); 
 } 
 fclose(fl); fclose(delFl); 
 remove(imefl); rename("Del",imefl); 
   void kilometri(){
  int k=0;FILE*txt;
  if(!exist(imefl));
  {printf("Failyt ne e syzdaden !n");return;}
  fl=fopen(imefl,"rb");
  txt=fopen("Koli.txt","wt");
  fread(&kola,sizeof(kola),1,fl);
  while(!feof(fl)){
  if(kola.probeg<=100000){
  k++;
  fprintf(txt,"Broqt na kolite pod 100000 e: %d ",&k);}
  scanf("%d",&k);
  }
  fclose(fl);fclose(txt);
  if(k==0) 
  printf("Nqma koli s probeg pod 100000km !n");
   }
   void main() { 
int c; 
 printf("%25Ime na fail: ");gets(imefl); 
 do { 
 printf("%33sMenu na izpylnqvanite operacii :n",""); 
 printf("%26s1. Syzdavane na failn",""); 
 printf("%26s2. Dobavqne na komponenti vyv faila n","");
 printf("%26s3. Iztrivane po zadaden registracionen nomer","");
 printf("%36s4. Izvejdane v tekstov fail s probeg < 100000 n","");  
 printf("%26s5. Posochete operaciq ili 0 za krai: ",""); 
 scanf("%d",&c);getchar(); 
 switch ©{ 
 case 1:SzdPrz();break; 
 case 2:dobavqne();break; 
 case 3:iztrivane();break; 
 case 4:kilometri();break; 
 } 
 }while (c!=0); 
}

 

здравейте спешно се нуждая от помощ за курсовата ми по Програмиране на C++: Задачата е следната : За коли в автосалон са зададени марка, регистрационен номер ,код , модел ,цена , година на производство ,пробег ,вид гориво ,наличие на климатик, цвят. Да се състави програма ,която съхранява данните във файл и избира следните операции от меню:  а ето докъде съм стигнал аз

#include <stdio.h>

#include <string.h>
#include <stdlib.h>
  struct Kola{
char marka[16];
char regNom[8];
int kod,godPr;
char model[16],vidgorivo[10],klimatik[6],cvqt[11];
float cena,probeg;
  };
  FILE*fl;
    char imefl[15];
  Kola kola;
  void readKola(Kola*kol){
 printf("%20sVavedi marka");
 gets(kol->marka);
 printf("%20sVavedi model");
 gets(kol->model);
 printf("%20sVavedi vid gorivo");
 gets(kol->vidgorivo);
 printf("Nalichie na klimatik Da ili Ne");
 scanf(kol->klimatik);
 printf("%20sVavedi registracionen nomer");
 gets(kol->regNom);
 printf("%20sVavedi cena");
 scanf("%f",&kol->cena);
 printf("%20sVavedi kod");
 scanf("%d",kol->kod);
 printf("Vavedi godina na proizvodstvo");
 scanf("%d",&kol->godPr);
 printf("%20sVavedi cvqt");
 gets(kol->cvqt);
 printf("%20sVavedi probeg");
 scanf("%f",&kol->probeg);
  }
   void writeKola(Kola*kol){
  printf("Marka: %-61s,model: %-41s ,vid gorivo: %21s,registracionen nomer: %s, klimatik: %s, cena: %f, probeg: %f, cvqt: %s, kod: %d",&kol->marka,&kol->model,&kol->vidgorivo,&kol->regNom,&kol->klimatik,&kol->probeg,kol->cvqt,kol->kod);
   }
   int exist(char *ime){
  FILE *f=fopen(ime,"r");
  fclose(f);
  return f!=NULL;
   }
   //funkciq za suzdavane na prazen fail
   void SzdPrz(){
  char ch;
  if (exist(imefl)){
  printf("Failyt syshtestvuva !");
  printf("Da go prezapisha li?");
  ch=getchar();
  if(ch=='n') return;
  }
  fl=fopen(imefl,"w");
  fclose(fl);
  printf("Failyt e syzdaden !n");
   }
   //funkciq za dobavqne na komponenti kym faila
   void dobavqne(){
  char ch;
  if(!exist(imefl)){
  printf("Failyt ne e syzdaden ! n");return;
  }
  fl=fopen(imefl,"a+b");
  do{
  readKola(&kola);
  fwrite(&kola,sizeof(kola),1,fl);
  printf("Shte prodyljite li vyvejdaneto? ");
  ch=getchar();getchar();
  }
  while(ch!='n');fclose(fl);
   }
   void iztrivane(){ 
 FILE *delFl; //Помощен файл, за изтриването
 char regNom[8]; //Регистрационен номер за изтриване
 if (!exist(imefl)) { 
 printf("Файлът не e създаден!n");return; 
 } 
 printf("Vyvedete registracionen nomer: ");gets(regNom); 
 fl=fopen(imefl,"rb");delFl=fopen("Del","wb"); 
 fread(&kola,sizeof(kola),1,fl); 
 while (!feof(fl)){ 
if (strcmp(kola.regNom,regNom)!=0) 
 fwrite(&kola,sizeof(kola),1,delFl); 
else printf("Danni za registracionen nomer %s изтрити.n",regNom); 
 fread(&kola,sizeof(kola),1,fl); 
 } 
 fclose(fl); fclose(delFl); 
 remove(imefl); rename("Del",imefl); 
   void kilometri(){
  int k=0;FILE*txt;
  if(!exist(imefl));
  {printf("Failyt ne e syzdaden !n");return;}
  fl=fopen(imefl,"rb");
  txt=fopen("Koli.txt","wt");
  fread(&kola,sizeof(kola),1,fl);
  while(!feof(fl)){
  if(kola.probeg<=100000){
  k++;
  fprintf(txt,"Broqt na kolite pod 100000 e: %d ",&k);}
  scanf("%d",&k);
  }
  fclose(fl);fclose(txt);
  if(k==0) 
  printf("Nqma koli s probeg pod 100000km !n");
   }
   void main() { 
int c; 
 printf("%25Ime na fail: ");gets(imefl); 
 do { 
 printf("%33sMenu na izpylnqvanite operacii :n",""); 
 printf("%26s1. Syzdavane na failn",""); 
 printf("%26s2. Dobavqne na komponenti vyv faila n","");
 printf("%26s3. Iztrivane po zadaden registracionen nomer","");
 printf("%36s4. Izvejdane v tekstov fail s probeg < 100000 n","");  
 printf("%26s5. Posochete operaciq ili 0 za krai: ",""); 
 scanf("%d",&c);getchar(); 
 switch ©{ 
 case 1:SzdPrz();break; 
 case 2:dobavqne();break; 
 case 3:iztrivane();break; 
 case 4:kilometri();break; 
 } 
 }while (c!=0); 
}

 

като цяло работи, т.е тръгва но после ми дава грешка след компилиране, което не мога да разбера! Благодаря на отзовалите се!!!

Здравейте , обърнете внимание на switch цикъла  : ето примерен синтаксис 

 

  1. [*]cout<<"What HTH level are you (1,2,3): "; [*]  [*]cin>>hthLevel; [*]  [*]  [*]switch(hthLevel){ [*]case 1:out<<"Hand to hand level= 1"<<endl;break; [*]case 2:out<<"Hand to hand level= 2"<<endl;break; [*]case 3:out<<"Hand to hand level= 3"<<endl;break; [*]default: cout<<endl<<"Incorrect"; [*]} [*]При вас липсва default : cout <<endl<< "Incorrect"; [*]т.е. при вас
switch ©{ 
 case 1:SzdPrz();break; 
 case 2:dobavqne();break; 
 case 3:iztrivane();break; 
 case 4:kilometri();break; 
[*]
default : cout <<endl<<" something else";

 } 

:bye1:

 


 

Здравейте , обърнете внимание на switch цикъла  : ето примерен синтаксис 

 

  • cout<<"What HTH level are you (1,2,3): ";
  •  
  • cin>>hthLevel;
  •  
  •  
  • switch(hthLevel){
  • case 1:out<<"Hand to hand level= 1"<<endl;break;
  • case 2:out<<"Hand to hand level= 2"<<endl;break;
  • case 3:out<<"Hand to hand level= 3"<<endl;break;
  • default: cout<<endl<<"Incorrect";
  • }
  • При вас липсва default : cout <<endl<< "Incorrect";
  • т.е. при вас switch ©{ 
     case 1:SzdPrz();break; 
     case 2:dobavqne();break; 
     case 3:iztrivane();break; 
     case 4:kilometri();break; 
default : cout <<endl<<" something else";

 } 

:bye1:

Съжалявам ,но не можах да ви разбера прегледах нещата ,но не можах да открия грешката ,може ли да ми обясните малко по-добре ,Благодаря Ви !! 

 

 

 

Извинявайте ,но трябваше да обясня по рано : Ние не работим с библиотеката iostream.h , а с stdio.h на Visual C++  затова мисля ,че switch цикъла ми е наред , тъй като не работим със cin,cout , а с printf,scanf

Олеле. Като видях отначало (когато беше постната темата) как е изсипан кода, реших да я игнорирам. Ама тука ексцесиите само продължават, та реших да се намеся.

И начало:

като цяло работи, т.е тръгва но после ми дава грешка след компилиране, което не мога да разбера! Благодаря на отзовалите се!!!

Тръгва, но дава грешка при компилиране??? Според скромните ми познания, една програма трябва първо да се компилира успешно и чак след това може да се изпълни -т.е. да "тръгне" А тази няма как да се компилира, защото формат спецификаторите ("%d" "%s"... т.н.) са наслагани съвсем безразборно, отделно броят и типовете на аргументите не съвпадат с тях на някои места... Като си ги оправиш - ще ти се компилира. Компилаторът съвсем надлежно си се оплаква за всяко едно местенце, което не му хареса.

 

Здравейте , обърнете внимание на switch цикъла : ето примерен синтаксис

switch не е цикъл... :angry: . И default клаузата не е задължителна и не би причинила гореописаните проблеми.

 

Извинявайте ,но трябваше да обясня по рано : Ние не работим с библиотеката iostream.h , а с stdio.h на Visual C++ затова мисля ,че switch цикъла ми е наред , тъй като не работим със cin,cout , а с printf,scanf

Класически развален телефон. valjo_vt смяташе че проблемът ти е липсата на default, а не, че трябва да ползваш cin/cout...

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

Архивирана тема

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

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

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

Дарение

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

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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