PDA

View Full Version : کمک در مورد تابع شمارشگر



rightturn
جمعه 21 بهمن 1390, 10:03 صبح
سلام
یه برنامه فرضی داریم که قراره صفحات رو شمارش کنه. این برنامه از پنج تابع تشکیل شده(با احتساب main)
از یوزر قرار نیست ورودی دریافت بکنیم اما خودمون باید تست کنیم.

یک تابع فقط عدد(مثلا 100) شمارش گر رو میگیره//عدد ورودی باید مثبت باشه// اگه منفی بود باید به صفر ست بشهSet- Counter
یک تابع یک واحد به شمارشگر اضافه میکنه(100 + 1). - Increment Counter
یک تابع شمارشگر رو به صفر ریست میکنه(0) - Reset Counter
یک تابع رقم فعلی شمارشگر رو نشون میده. - Show Counter

در خود تابع اصلی هم یه یک سری تست تعیین میشه که از صحت درست بودن توابع مطلع بشیم.
این چیزی که من نوشتم و با اینکه کامپایل و ران میشه جواب درست نمیده.
کسی میتونه کمک کنه؟




#include<stdio.h>
int SetCounter(int vInitialCounterSet, int vNewCounterSet);
int IncrementCounter(int vIncrementedCounter);
int ResetCounter(int vReset1);
int ShowCounter(int vShowCurrent);

int SetCounter(int vInitialCounterSet, int vNewCounterSet)
{

if (vInitialCounterSet<0)
{
vInitialCounterSet=0;
}
else
{
vNewCounterSet=vInitialCounterSet;
}
return vNewCounterSet;
}

int IncrementCounter(int vIncrementedCounter)
{
vIncrementedCounter=vIncrementedCounter+1;
return vIncrementedCounter;
}

int ResetCounter(int vReset1)
{
int vResetting;
int vReset2;
vReset2=SetCounter(vResetting, vReset1);
vReset2=0;
return vReset2;
}

int ShowCounter(int vShowCurrent)
{
printf("d",vShowCurrent);
return vShowCurrent;
}

int main()
{

int counter;

counter=ResetCounter(counter);


counter=ShowCounter(counter);
printf("%d\n", counter);
/*2*/
counter=IncrementCounter(counter);
counter=IncrementCounter(counter);
counter=IncrementCounter(counter);
/*3*/
counter=ShowCounter(counter);
printf("aaa", counter);
/*4*/
counter=SetCounter(counter,135);
/*5*/
counter=ShowCounter(counter);
printf("%d\n", counter);
/*6*/
counter=SetCounter(counter,-135);
/*7*/
counter=ShowCounter(counter);
printf("%d\n", counter);
/*8*/
counter=SetCounter(counter,999);
/*9*/ counter=ShowCounter(counter);
printf("%d\n", counter);
/*10*/
counter=ResetCounter(counter);
/*11*/
counter=ShowCounter(counter);
printf("%d\n", counter);
return 0;
}