Автор Тема: Помощ, курсова задача  (Прочетена 1271 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

amstel

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 21
Помощ, курсова задача
« -: 25 Април 2012, 15:53:41 »
Здравейте,
главоблъсканицата е следната:

"Да се създаде структура съхраняваща данните на един автомобил - марка, рег. номер, година на производство и цена. За група от автомобили да се създаде масив, всяка една от клетките на масива да съдържа по една структура, съхраняваща данните на един автомобил. Да се изведе процента на автомобилите произведени между 2000 и 2010г. "

Аз успях да напиша:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

struct Avtomobil
{
 char marka[25];
 float regNo, godproizv, cena;
};
int BrAvt;
float proc=0, br=0.0;
Avtomobil arrAvt [25];
void setAvtomobil (Avtomobil *Avt)
{
 printf ("Vuvedi dannite za avtomobila\n");
 printf ("\tVuvedi marka: ");
 scanf ("%s",&Avt->marka);
 printf ("\t Vuvedi reg. nomer:");
 scanf ("%f",&Avt->regNo);
 printf ("\tVuvedi godina na proizvodstvo:");
 scanf ("%f",&Avt->godproizv);
 printf ("\t Vuvedi cena :");
 scanf ("%f",&Avt->cena);
}
void procentOfAvtomobil (Avtomobil Avt)
{
 if (Avt.godproizv >= 2000 || <=2010)
 {
  br++;
 }
}
void main ()
{
 int i;
 printf ("\tVuvedi broi avtomobili:"); scanf ("%d", &brAvt);
 for (i=0;i<brAvt;i++) setAvtomobil (&arrAvt [i]);
 for (i=0;i>brAvt;i++) procentOfAvtomobil (arrAvt[i]);
 proc=(br/brAvt)*100;
 printf ("\n\t %4.2f",proc); printf ("procenta na avtomobilite mejdu 2000 i 2010 godina.\n");
}
Но има грешки и не успявам да измисля друго...

Някакви идеи?

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Re: Помощ, курсова задача
« Отговор #1 -: 25 Април 2012, 16:26:18 »
Кой компилатор ползваш и коя е грешката?

//edit borovaka Оправих латиницата.
« Последна редакция: 25 Април 2012, 16:52:17 от borovaka »
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

Борис

  • Гост
Re: Помощ, курсова задача
« Отговор #2 -: 25 Април 2012, 17:50:09 »
Първо, защо регистрационния ти номер и годината на производство са float? Те са цели числа, няма как номера да е 4456,3 или годината 1992,1. Направи ги short int или само int.  Направи гo така int BrAvt; въвежда потребителя стойност и след това създай Avtomobil arrAvt [BrAvt];. Броя на автомобилите, които са от 2000 до 2010г. (br) също не може да ти е число с плаваща запетая, то е цяло число пак int или short int. Изчисляването на процента не ти е вярно "||" е логическо "или" и фактически всички автомобили по малки от 2010 независимо дали са под или над 2000г. ще увеличат Br,  на теб ти трябват само в границата 2000-2010г. Трябва да е "§§", логическо "и", така опитай с процента if(Avt.godproizv >= 2000 §§ Avt.godproizv =<2010) br++;. Ако имаш друг проблем пиши.
« Последна редакция: 25 Април 2012, 19:15:59 от Борис »